MozillaPL.org - polskie centrum Mozilli

Główne menu:

Nie działa konstrukcja parent.window.close() i pokrewne

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Nie działa konstrukcja parent.window.close() i pokrewne

Postautor: Mateuch » 27 grudnia 2003, 14:58

Przeglądarka: Mozilla/5.0 (Windows; U; Win98; PL; rv:1.5) Gecko/20031007

Tworzę stronę dla szkoły i natchnęłem się na pewien błąd. Strona jest napisana w XHTMLu i zawiera ramki. W jednej ramce umieściłem link do zamknięcia całego okno właśnie za pomocą parent.window.close(). We IE, Operze i podobnych działa, ale nie chce działać w Mozilli (testowane w 1.2) i pokrewnych. Podobnie nie chce działa nawigacja z użyciem dwóch pól combo. Bardzo proszę o pomoc (najlepiej mailem - mateucho@o2.pl). Z góry dziękuję!!!

Mateuch
Mateuch
 

Postautor: Gandalf » 27 grudnia 2003, 16:56

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6b) Gecko/20031217 Firebird/0.7+

1) Forum zostlo wymyslone m.inn. po to, aby z pomocy, ktorej Ci udziele mogli skorzystac rowniez inni. Dlatego prosba zeby odpowiadac na maila graniczy z ignorancja.

2) NIe pokazales zadnego przykladu, ktory nie dziala, a ja nie naleze do Siostra Samarytanek. Postaraj sie o minimum dokumentacji swoich problemow, w celu uzyskania pomocy. Parafrazujac - help me, help you.
Gandalf
 
Posty: 1802
Z nami od: 29 czerwca 2002, 04:37
Lokalizacja: Warszawa

parent

Postautor: bigusław » 21 stycznia 2004, 15:16

Przeglądarka: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)

krótko, komenda parent zamyka rodzinę. Jeśli jest konstrukcja wieloramkowa, nie możesz zamknąć jednej z ramek. A co z pozostałymi?
Wszystko załatwia komenda prosta: top.window.close()
A jeśli nie ma ramek to wystarczy: window.close()
bigusław
 

Postautor: quiris » 21 stycznia 2004, 15:25

Przeglądarka: Opera/7.50 (Windows NT 5.0; U) [en]

Jeśli na konsoli JS dostajesz komunikat:
Kod: Zaznacz cały
Scripts may not close windows that were not opened by script.

to wszystko jest w porządku. Zgodnie ze specyfikacją ECMAScript skrypty JS mogą zamykać tylko te okna, które są otwierane przez ten skrypt. Z uznaniem stwierdzam, że Mozilla jako jedyna stosuje się do standardu.
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53

Postautor: Ludwik » 22 stycznia 2004, 08:31

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; PL; rv:1.5) Gecko/20031007 Firebird/0.7

quiris pisze:to wszystko jest w porządku. Zgodnie ze specyfikacją ECMAScript skrypty JS mogą zamykać tylko te okna, które są otwierane przez ten skrypt. Z uznaniem stwierdzam, że Mozilla jako jedyna stosuje się do standardu.


A co tu psuje IE? Bo ja dobrze pamiętam z niego podobny komunikat...
Ludwik
Moderator
 
Posty: 2908
Z nami od: 10 marca 2003, 10:05

Postautor: quiris » 22 stycznia 2004, 10:37

Przeglądarka: Opera/7.50 (Windows NT 5.2; U) [en]

Ludwik pisze:co tu psuje IE? Bo ja dobrze pamiętam z niego podobny komunikat...

Warunek zamykania przez skrypt tylko swoich okien jest podyktowany względami bezpieczeństwa. Teoretycznie możliwe byłoby zrobienie złośliwego skryptu zamykającego Ci przeglądarkę (W MSIE nie ma kart/tabów/paneli). MSIE w sumie nawet lepiej zachowuje się niż Opera, ponieważ wyświetla komunikat ostrzegawczy, że skrypt próbuje zamknąć okno. Jeśli zgodzimy się - okno zostanie zamknięte. Hmm... chyba będę musiał zgłosić buga względem niedobrego zachowania Opery.

<edit>Hmm... Problem znany: Closing windows not opened by JS with JS (Security bug). Szkoda, że niepoprawiony. BTW: bardzo ładny test jest w tym wątku na ten temat: </edit>

<edit2>Hmm... No tak. MSIE jednak wyświetla tylko ostrzeżenie po naśnięciu pierwszego przycisku, w pozostałych dwóch przypadkach skrypt zamyka przeglądarkę bez żadnego halo :(</edit2>
quiris
 
Posty: 659
Z nami od: 31 lipca 2002, 06:53


Wróć do Standardy WWW i źle działające strony

Kto jest online

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

Przejdź do powiązanej strony

Nawigacja:

Stopka: