Autor Zpráva
Fred
Profil
Tenhle dotaz je nejspíš css, js, php i problémy s prohlížeči, ale nejvíc mi připadá, že je to problém css? Takže:
Nevím proč se vždy tvrdí, že Opera je tak perfektní prohlížeč. Dělám na stránkách, kde potřebuji dodat jeden span javascriptem, protože to dělám pomocí DOM , je to celkem komplikované, ale perfektně to funguje v IE i v Gecku. S tím, že to DOM je stoprocentně správně, protože posílám správné hlavičky application/xhtml+xml a vše v gecku funguje správně (kdyby bylo při správném xhtml mime cokoliv špatně, tak by funkce jednoduše neproběhla, nebo by se zhroutil parser ) . Opeře posílám to samé co gecku a není schopná to prostě správně ostylovat? Možná může být problém taky to, že musím tomu js taky posílat hlavičku, protože hosting co to na něm běží posílá špatné hlavičky při kterých mi neběží správně utf-8 a proto tomu js kvůli createTextNode musím nastavovat charset a koncovku php (header("Content-type: text/javascript; charset=utf-8");)? Ty stránky jsou tady http://www.sinpps.cz
habendorf
Profil
Jde o to menu? Mě se zdá že se chová dobře, v čem je problém?
Fred
Profil
Hlavička je rozbitá v Opeře, když to bylo v innerHTML bylo to v pohodě.
habendorf
Profil
Jo hlavička, už to vidím. Ale nevím co s tím, zdá se mi že na to jdeš strašně složitě, těžko se v tom orientuju.
Fred
Profil
Už jsem na to přišel, musím Opeře sdělit, že h1 a div jsou elementy s display:block !important a už to funguje. Jenom v osmičce beta, se to js nějak divně cachuje a občas to funguje až po reloadu?
habendorf
Profil
Ráno jsem si nainstaloval ostrou verzi osmičky. V ní to teď už zobrazuje dobře.
Fred
Profil
Vyšla ostrá? Tak to jí jdu stáhnout, i když na ní nadávám je určitě nejrychlejší :-)
habendorf
Profil
Jo. Ale mrkni sem: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=5&topic=57 22
Fred
Profil
Hm tak to nefunguje ani v 8 , jenom při prvním příchodu na web. Pokud se pak pohybuju v navigaci, tak to podruhé nechce mrcha načíst.
habendorf
Profil
Máš recht. A rozbije se i to menu :o(
Fred
Profil
Nějak se to špatně cachuje, bohužel se tím dotaz přesunul do php, takže pardon.
Tomu js posílám hlavičku (musím to mít v php kvůli nastavení serveru nejde mi tam utf )

if (function_exists('ob_get_level') && (ob_get_level() > 0))
ob_start("ob_gzhandler");
header("Content-type: text/javascript; charset=utf-8");
header("Cache-Control: must-revalidate");
header("Expires: ".gmdate("D, d M Y H:i:s",
time() + 60*60*24*2)." GMT");

Jde nějak docílit, aby se to jen v Opeře necachovalo?

i když dám
header("Cache-Control: no-cache"); stejně to funguje až po reloadu
Fred
Profil
Jak se zdá je to problém již od Opery 5 http://list.opera.com/pipermail/opera-users/2001-February/003163.html . Nerozumí někdo trochu lépe německy než já? Tady je zdá se něco o tom http://www.christian-gerner.de/computer/opera-seite-laden.htm
habendorf
Profil
Ten německý text řeší asi jiný problém, a to sice že Opera při stisknutí "zpět" načítá stránku znovu ze serveru (údajně). Takže např. vymaže vyplněné formuláře.
Fred
Profil
Díky za překlad, zkusil jsem dát dotaz na fóru opery.
Oswald
Profil
Zkusil bych application/x-javascript. Když zadám přímo adresu toho souboru - http://www.sinpps.cz/sinppsjs.php - tak mi ho Opera nabídne ke stažení.
Fred
Profil
To je asi blízko, ale není to ono, teď už sice nestahuje, ale je to pořád stejné. Do hlavičky jsem narval vše co jsem kde našel.
if (function_exists('ob_get_level') && (ob_get_level() > 0))
ob_start("ob_gzhandler");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-type: application/x-javascript; charset=utf-8");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Fred
Profil
Tak jsem se na ten workaround s javascriptem nakonec vykašlal a udělal to bez něj. Ale musím konstatovat, že Opera je prohlížeč k ničemu. Vždy když dělám něco v javascriptu tak, tak se snažím aby se to buď načtetlo a všechny funkce proběhnou tak jak mají a nebo aby se to vůbec nenačetlo a funkce neproběhnou a nic se neděje. Z hlediska přístupnosti a čistoty k´du to bylo samozřejmě lepší s tím js, protože obsahy spanů jsou vlastně duplicitní obsahy titulků, takže nebylo potřeba je tam vypisovat a textově byli v dokumentu obsaženy ať už s js, nebo bez něj. Opera bohužel jde svou cestou a js sice poprvé proběhnul bez problémů, i v xhtml se správným mime typem, ale prostě se to načetlo jenom na první stránce. To považuji za velmi závažnou chybu a proto říkám Opera není dobrý prohlížeč. BTW na serveru Opery je po mém dotazu ticho po pěšině a admini dělají mrtvé brouky. Zase další z důvodů říci, že věci jako komunita, open source a prohlížeč na gecku jsou prostě lepší.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0