MozillaPL.org - polskie centrum Mozilli

Główne menu:

Błąd w java script? - nie moge ustawic resizable=no

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?!

Błąd w java script? - nie moge ustawic resizable=no

Postautor: DesGen » 18 czerwca 2005, 10:45

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

Witam

Problem dotyczy strony http://www.avia.tarman.pl gdzie w dziale Galeria lub na stronie głównej w newsach są fotki wyświetlane za pomocą funkcji javascript. Niestety w FF nie wyświetlają się poprawnie tz. otwarte okienko jest za małe w stosunku do obrazka - nie pomaga ustawienie parametrów resizable=no oraz scrollbars=no. W linuxie dodatkowo można zmieniać rozmiar okienka. Oczywiście pod IE obrazki wyświetlane są prawidłowo. Jeżeli ktoś wie o co chodzi prosze o odpowiedź.

Pozdrawiam
DesGen
 

Postautor: Gość » 18 czerwca 2005, 11:04

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

Spróbuj:
Kod: Zaznacz cały
config='width='+w+', height='+h+', left='+wysokosc+', top='+szerokosc;
pop = window.open ("","pop",config)
Gość
 

Niestety :(

Postautor: DesGen » 18 czerwca 2005, 11:17

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

Niestety nie pomogło - głównym problemem pod win są suwaki ktore mimo "scrollbars=no" sie pojawiaja pod Linuxem dochodzi jeszcze mozliwosc zmiany rozmiaru okna :(

Pozdrawiam
DesGen
 

Rozwiazanie

Postautor: DesGen » 18 czerwca 2005, 20:34

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050514 Firefox/1.0.4

Witam ponownie

Rozwiazanie polega na zastosowaniu innej metody do zamykania okna zamiast:

Kod: Zaznacz cały
<a href="javascript:window.close()">


trzeba uzyc

Kod: Zaznacz cały
<a onclick="javascript:window.close();">


Nie wiem dlaczego FF sie obrazil na "javascript:window.close()" w tym przypadku i nie potrafi poprawnie zinterpretowac rozmiaru okna.

Pozdrawiam
DesGen
 

Postautor: Gedi » 18 czerwca 2005, 21:58

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

Nie wiem, czy zauważyłeś, ale masz błędny kod JavaScript. FF nie ma tutaj nic do rzeczy :). Poza tym nie potrzeba dla FF podawać 'scrollbars=no', wystarczy samo width i height.

config='width='+w+',height='+h+',left='+wysokosc+',top='+szerokosc
+''

Niepotrzebne apostrofy na końcu i znak +

LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0"


Wszystko źle! Żaden z powyższych atrybutów nie istnieje w specyfikacji HTML oprócz MARGINWIDTH i MARGINHEIGHT, które są TYLKO dla ramek, nie dla BODY!

http://www.w3.org/TR/html401/index/attributes.html

Zamiast tego wystarczy:

<body style="margin: 0; padding: 0">...
lub lepiej w arkuszu styli CSS:

Kod: Zaznacz cały
body {
   margin: 0;
   padding: 0;
}
Gedi
 
Posty: 324
Z nami od: 10 sierpnia 2003, 17:36

plus

Postautor: DesGen » 18 czerwca 2005, 22:45

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050514 Firefox/1.0.4

Gedi pisze:Nie wiem, czy zauważyłeś, ale masz błędny kod JavaScript. FF nie ma tutaj nic do rzeczy :).


Ten błędny kod działa w MSIE wiec do tej pory nie sprawiał problemu. Dlatego też ten wątek :)


Gedi pisze:Poza tym nie potrzeba dla FF podawać 'scrollbars=no', wystarczy samo width i height.

config='width='+w+',height='+h+',left='+wysokosc+',top='+szerokosc
+''

Jak wyzej

Gedi pisze:Niepotrzebne apostrofy na końcu i znak +

LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0"



Przeanalizuj dokładnie co zamyka ten drugi apostrof. Plus też wydaje mi się konieczny bez niego funkcja przestaje działać:)

Gedi pisze:Wszystko źle! Żaden z powyższych atrybutów nie istnieje w specyfikacji HTML oprócz MARGINWIDTH i MARGINHEIGHT, które są TYLKO dla ramek, nie dla BODY!

http://www.w3.org/TR/html401/index/attributes.html

Zamiast tego wystarczy:

<body style="margin: 0; padding: 0">...
lub lepiej w arkuszu styli CSS:

Kod: Zaznacz cały
body {
   margin: 0;
   padding: 0;
}


No może nie wszystko źle - dziekki za uwagi .:)

Pozdrawiam
DesGen
 

Postautor: Gedi » 19 czerwca 2005, 01:40

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

MSIE nie jest wyznacznikiem jakości kodu. Jeśli chcesz wiedzieć, to MSIE najgorzej interpretuje jakiekolwiek kody a to znaczy, że nie zwalnia to webmastera od przestrzegania zasad i poprawnego pisania :).

Wierz mi, naprawdę to nie jest poprawne, nawet generowany kod HTML.
Chcesz kodu :)? Wypróbuj to :D:

Kod: Zaznacz cały
function showphoto1(id, w, h) {
   var wysokosc = screen.width/2 - (w/2);
   var szerokosc = screen.height/2 - (h/2);
   var config='width='+w+',height='+h+',left='+wysokosc+',top='+szerokosc;
   pop = window.open ('','pop',config);
   void(0);
   pop.document.open();
   pop.document.write('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'
   +'<HTML><HEAD><TITLE>Galeria</TITLE>'
   +'<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"></HEAD>'
   +'<BODY style="background-color: black; margin: 0; padding: 0">'
   +'<IMG src="'+id+'" alt="kliknij aby zamknąć" onclick="self.close();"></BODY></HTML>');
   pop.document.close();
}


PS.
Warunek musi być taki aby obrazek miał wymiary nie większe niż otwierane okno. Inaczej pojawią się scrolle, bo pamiętaj, że BODY też je może mieć, nie tylko okno. Aby w BODY zlikwidować scrolle do stylu dodaj:

overflow: hidden;
Gedi
 
Posty: 324
Z nami od: 10 sierpnia 2003, 17:36

MSIE

Postautor: DesGen » 19 czerwca 2005, 16:00

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050514 Firefox/1.0.4

Witam

Nie napisałem ze MSIE jest wyznacznikiem jakości kodu tylko ze pod nim efekt był taki jak miał być a w FF nie, co sprawiało problem. Na szczęście wszytko juz dziala tak jak powinno - dzięki za cenne wskazówki.

Pozdrawiam
DesGen
 

Postautor: Gedi » 20 czerwca 2005, 01:03

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl-PL; rv:1.7.8) Gecko/20050511 Firefox/1.0.4

To świetnie, że działa :). Teraz już wiesz, że nie można polegać na MSIE. MSIE oszukuje bo próbuje "naprawiać" błędnie napisany przez webmastera kod, a to powoduje, że nie widzisz, gdzie popełniasz te błedy :). Jak zapewne zauważyłeś, to FF wyświetlał poprawnie i interpretował dokładnie tak jak napisałeś kod :D! Sprawdzaj strony w kilku przeglądarkach a przede wszystkim w tych poprawnie interpretujących standardy sieciowe a unikniesz błędów. Wtedy nie będzie problemów ani z FF, ani z MSIE, ani z większością przeglądarek. Oczywiście są różne rozbieżności między przeglądarkami. Zainstaluj conajmniej trzy, czyli FF/Mozilla, MSIE, Opera i porównuj z wytycznymi specyfikacji.

Pozdroofko,
Gedi
 
Posty: 324
Z nami od: 10 sierpnia 2003, 17:36

Postautor: Ciuciu(guest) » 19 kwietnia 2006, 08:50

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2

A z innej beczki.. jak już mamy taką niedziałającą poprawnie stronę i nie ma bata że coś na niej poprawimy, jak kazać firefoxowi ignorować parametr resizable=no?
Ciuciu(guest)
 


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

Kto jest online

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

Przejdź do powiązanej strony

Nawigacja:

Stopka: