Skrypt otwierający zdjęcia w popupach na http://marcinek.poznan.pl/down/o/news.html działa tylko przy jednokrotnym otwieraniu zdjęcia, jeżeli zamknąć popup, reszta zdjęć nie chce się otwierać.
W IE i Firefoxie działa ok.
Czy w skrypcie jest błąd?
pozdrawiam
Wojtek
Tak. Narzędzia -> Zaawansowane -> Konsola Javascript. Przy zamknięciu i próbie ponownego otworzenia mówi jak następuje:
Javascript URL thread: "javascript:nowe_okno( 'foty/3/4.jpg','Dubliner','width=640,height=480,left=10,top=10');" Error: name: TypeError message: Statement on line 6: Type mismatch (usually a non-object value used where an object is required) Backtrace: Line 6 of inline#1 script in http://marcinek.poznan.pl/down/o/news.html okno.close(); Line 1 of unknown script nowe_okno("foty/3/4.jpg", "Dubliner", "width=640,height=480,left=10,top=10");
Tłumacząc z polskiego na nasz: ponieważ okno było stworzone, więc zmienna okno istnieje; ale jako że okno zamknąłeś sam, to zmienna jest NULL i okno.close() powoduje błąd.
Proponuję warunek if (okno) zmienić na:
if (okno && okno.location != null)
który magicznie powoduje działanie strony w Operze jak należy. Przyznam, że nie testowałem w Firefoksie ani IE, ale powinno zadziałać.
Ale niestety tak bywa na wielu stronach, że zamknięcie pierwszego okna otworzonego przez JS powoduje niemożność otworzenia kolejnych linków czy też obrazków
To nie zamykaj
wow, qviri, wielkie dzięki! Teraz wszystko działa.
Pozdrowienia!
Originally posted by qviri:
Proponuję warunek if (okno) zmienić na:
if (okno && okno.location != null)
Albo na
if (okno && okno.closed == false)
również dzięki za odpowiedź