Nie działa konstrukcja parent.window.close() i pokrewne
Moderator: Pomocy?!
Posty: 6
• Strona 1 z 1
Nie działa konstrukcja parent.window.close() i pokrewne
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
- Mateuch
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.
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
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()
Wszystko załatwia komenda prosta: top.window.close()
A jeśli nie ma ramek to wystarczy: window.close()
- bigusław
Przeglądarka: Opera/7.50 (Windows NT 5.0; U) [en]
Jeśli na konsoli JS dostajesz komunikat:
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.
- 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
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
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
- quiris
- Posty: 659
- Z nami od: 31 lipca 2002, 06:53
Posty: 6
• Strona 1 z 1
Wróć do Standardy WWW i źle działające strony
Kto jest online
Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], dexter, Google [Bot]