MozillaPL.org - polskie centrum Mozilli

Główne menu:

[solved] Reakcja na zmianę karty

Projektowanie aplikacji i rozszerzeń opartych na technologiach Mozilla Foundation: XUL, JavaScript, XPCOM, XBL i innych

Moderator: Pomocy?!

[solved] Reakcja na zmianę karty

Postautor: Zepco » 10 lutego 2007, 18:37

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.1) Gecko/20061223 BonEcho/2.0.0.1

Nie za bardzo wiem jak ugryźć ten problem. Mianowicie chodzi mi o to, że chciałbym zrobić funkcję, która byłaby wywoływana w momencie gdy następuje zmiana karty z jednej strony na drugą, bądź zmianę strony w danej karcie.
Dokładniej chodzi o ustalenie adresu strony aktualnie wyświetlanej karty, żeby móc wyświetlać przycisk przy odpowiednich adresach.

Z tego co wstępnie się rozglądałem to chyba będzie potrzebny broadcaster, choć nie mam za bardzo pojęcia jak go w tym przypadku użyć i czy w ogóle się do tego nadaje.


Wiem, że trochę chaotycznie to określiłem, ale mam nadzieję, że ktoś mnie zrozumie i pomoże. :) Mimo wszystko będę jeszcze szukał sam odpowiedzi.
Ostatnio zmieniony 17 lutego 2007, 22:04 przez Zepco, łącznie zmieniany 1 raz
Zepco
 
Posty: 27
Z nami od: 27 lutego 2005, 22:09
Lokalizacja: Kielce

Postautor: Zepco » 11 lutego 2007, 12:49

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.1) Gecko/20061223 BonEcho/2.0.0.1

No to może pytanie z innej beczki. Jest gdzieś dokumentacja dotycząca elementów jakie zawiera firefox?
Wiem, że mógłbym przeglądać źródła, ale nie jest to najlepsze rozwiązanie.
Zepco
 
Posty: 27
Z nami od: 27 lutego 2005, 22:09
Lokalizacja: Kielce

Re: Reakcja na zmianę karty

Postautor: Ancestor » 11 lutego 2007, 13:55

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Zepco pisze:Nie za bardzo wiem jak ugryźć ten problem. Mianowicie chodzi mi o to, że chciałbym zrobić funkcję, która byłaby wywoływana w momencie gdy następuje zmiana karty z jednej strony na drugą, bądź zmianę strony w danej karcie.
Dokładniej chodzi o ustalenie adresu strony aktualnie wyświetlanej karty, żeby móc wyświetlać przycisk przy odpowiednich adresach.

Z tego co wstępnie się rozglądałem to chyba będzie potrzebny broadcaster, choć nie mam za bardzo pojęcia jak go w tym przypadku użyć i czy w ogóle się do tego nadaje.

Nie, broadcaster służy do innych rzeczy. W momencie zmiany karty wysyłane jest zdarzenie TabSelect, a w chwili załadowania nowej strony load. Musisz nasłuchiwać tych dwóch zdarzeń i sprawdzać content.location.
No to może pytanie z innej beczki. Jest gdzieś dokumentacja dotycząca elementów jakie zawiera firefox?
Wiem, że mógłbym przeglądać źródła, ale nie jest to najlepsze rozwiązanie.

Oczywiście. http://developer.mozilla.org/pl/docs/Dokumentacja_XUL
Ancestor
Moderator
 
Posty: 1799
Z nami od: 11 czerwca 2005, 20:25
Lokalizacja: Sopot

Postautor: Zepco » 12 lutego 2007, 00:19

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.1) Gecko/20061223 BonEcho/2.0.0.1

Dzięki!
Rzeczywiście zadziałało

Kod: Zaznacz cały
var ffTabs = getBrowser().tabContainer;
ffTabs.addEventListener( "TabSelect", CheckURL , true );


Tylko problem jest z content.location, bo strona do której chcę to zastosować ma ramki. A content.location pokazuje mi główny adres. :(
Zepco
 
Posty: 27
Z nami od: 27 lutego 2005, 22:09
Lokalizacja: Kielce

Postautor: Ancestor » 12 lutego 2007, 14:41

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

Zepco pisze:Tylko problem jest z content.location, bo strona do której chcę to zastosować ma ramki. A content.location pokazuje mi główny adres. :(

No to (rozbite krok po kroku dla przejrzystości):
Kod: Zaznacz cały
var contentDoc = content.document;
var frame = contentDoc.getElementById('frameId');
var frameDoc = frame.contentDocument;
var frameLocaton = frameDoc.location;
Ancestor
Moderator
 
Posty: 1799
Z nami od: 11 czerwca 2005, 20:25
Lokalizacja: Sopot

Postautor: Zepco » 13 lutego 2007, 00:07

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; pl; rv:1.8.1.1) Gecko/20061223 BonEcho/2.0.0.1

Dzięki za pomoc! Działa tak jak należy. Próbowałem dostać się przez DOM, ale nie znałem contentDocument
Zepco
 
Posty: 27
Z nami od: 27 lutego 2005, 22:09
Lokalizacja: Kielce


Wróć do Programowanie z użyciem technologii Mozilli

Kto jest online

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

Przejdź do powiązanej strony

Nawigacja:

Stopka: