MozillaPL.org - polskie centrum Mozilli

Główne menu:

Restart ustawień w dodatku

Dodatki rozszerzające funkcjonalność i schematy wyglądu Mozilli Firefox

Moderator: Pomocy?!

Restart ustawień w dodatku

Postautor: Gość » 06 czerwca 2010, 12:26

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)

Witam.

Mam problem bo tworze sobie mały dodatek, by sprawdzał zmiany na pewnej stronie i mam utworzyne okno z opcjami. Tam wpisuje swoją nick, hasło i czas po jakim ma sprawdzić zmiany. Problem polega na tym, że jak ustawie czas na 80 min i zacznie się "odliczanie" to, gdy w między czasie zmienię czas na np. 40 min. To dopiero te zmiany wejdą po upływie tych 80 min lub po restarcie przeglądarki.
Czy istnieje jakaś możliwość że podczas kliknięcia w przycisk "OK", w oknie z opcjami. Wykona się jakaś funkcja w JS? Bo nie wiem jak podczepić tą funkcje do tego przycisku, bo on jest tworzony automatycznie.

Dziękuje z góry za odpowiedź.
DamianLii
Gość
 

Odp: Restart ustawień w dodatku

Postautor: Grzegorz » 06 czerwca 2010, 13:36

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.3a5pre) Gecko/20100605 Minefield/3.7a5pre

Ten czas to chyba w jakieś zmiennej przechowujesz? Nie wystarczy Ci odjąć lub dodać od niej nowej wartości?
GnuPG. Podpisuję własne wypowiedzi. | TrueCrypt. Ufam kryptografii, nie państwu. | Tor. Dbam o swoją prywatność. | OTR. Moje rozmowy nie są podsłuchiwane.

Załóż konto lub kup domenę WWW z linka polecającego: http://www.hekko.pl/?ref=34295
Grzegorz
Moderator
 
Posty: 7486
Z nami od: 15 kwietnia 2007, 12:33

Odp: Restart ustawień w dodatku

Postautor: DamianLii » 06 czerwca 2010, 15:04

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)

Zrobiłem to na funkcje w JS, gdzie jest czas:
Kod: Zaznacz cały
 
      intervalID = setInterval(all, 1000 * 60 * window.czas);

i po wywołaniu tej funkcji z tą częścią kodu, tam moja funkcja "all" sprawdza czas czy się nie zmienił, i jak by co zmienia go.
Ale teraz zacząłem próbować i chciałem stworzyć przycisk "Zastosuj zmiany" i po kliknięciu w niego był czas restartowany, ale tylko w tym oknie opcji, był zmieniony, a głównym oknie FF nadal był stary czas. W każdym pliku *.XUL (od opcji i ten główny co jest wyświetlany) mam linijkę od <script src='...' /> i myślałem że jak zmienię zmienną w oknie opcji to i w głównym oknie się zmieni ale coś nie działa to.


Bo jeszcze pomyślałem o tym żeby np co 5 min była sprawdzana ta wartość czy się zmieniła, ale czy to by nie obciążało przeglądarki ciągle sprawdzanie?

I jeszcze jedno pytanie: Jak zrobić taką paczkę instalacyjną takiego dodatku, bo czytałem na stronie FF i tam nie wiem o co chodzi.
DamianLii
 
Posty: 2
Z nami od: 06 czerwca 2010, 12:18

Odp: Restart ustawień w dodatku

Postautor: Mirek » 06 czerwca 2010, 17:48

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9

Na początku miałem spytać czy używasz funkcji clearInterval() - bo w ten sposób można by przerwać działanie, ale coś się pogubiłem w drugiej części opisu i sam już nie wiem czy to Ci pomoże. W przypadku rozszerzenia można też skorzystać z nsITimer zamiast setInterval - ale tutaj również po zmianie trzeba zatrzymać zadanie i odpalić na nowo z nowym interwałem.
Albo zerknij jak to inni zrobili - szukając na stronie AMO rozszerzeń ze słowami takimi jak np.: interval, timeout, check change itp. - i znajdziesz np.: Check4Change, {GMail | Hotmail | Yahoo! Mail} Watcher - może coś Ci podsunie pomysł. Ew. można poszukać jakiegoś podobnego skryptu na userscripts.org - wtedy można by po przygotowaniu skryptu wygenerować sobie od razu gotowe rozszerzenie - tyle że strona cały czas musiałaby być otwarta, a opcje dostępne by były jedynie przez wstrzyknięcie jakiegoś HTMLa w kod danej strony.
Mirek
Moderator
 
Posty: 2158
Z nami od: 09 sierpnia 2007, 20:37

Odp: Restart ustawień w dodatku

Postautor: DamianLii » 06 czerwca 2010, 17:53

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)

Używałem clearInterval i już sobie poradziłem zrobiłem tak że sprawdza co 30 sekund czy zmieniły się dane w oknie z opcjami. Jak się zmieniły to clearInterval() i setInterval().

Dzięki za pomoc wszystkim. Temat można zamknąć.
DamianLii
 
Posty: 2
Z nami od: 06 czerwca 2010, 12:18

Odp: Restart ustawień w dodatku

Postautor: Mirek@[PL] » 06 czerwca 2010, 18:24

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)

Tylko tak jak zauważyłeś wcześniej, będzie to trochę bardziej obciążało przeglądarkę...
Mirek@[PL]
 


Wróć do Rozszerzenia dla Firefoksa

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: