Autor | Zpráva | ||
---|---|---|---|
Fred Profil |
#1 · Zasláno: 20. 4. 2005, 16:25:47
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 |
#2 · Zasláno: 20. 4. 2005, 16:48:04
Jde o to menu? Mě se zdá že se chová dobře, v čem je problém?
|
||
Fred Profil |
#3 · Zasláno: 20. 4. 2005, 16:53:28
Hlavička je rozbitá v Opeře, když to bylo v innerHTML bylo to v pohodě.
|
||
habendorf Profil |
#4 · Zasláno: 20. 4. 2005, 17:11:03
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 |
#5 · Zasláno: 20. 4. 2005, 17:19:31 · Upravil/a: Fred
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 |
#6 · Zasláno: 20. 4. 2005, 17:25:38
Ráno jsem si nainstaloval ostrou verzi osmičky. V ní to teď už zobrazuje dobře.
|
||
Fred Profil |
#7 · Zasláno: 20. 4. 2005, 17:29:11
Vyšla ostrá? Tak to jí jdu stáhnout, i když na ní nadávám je určitě nejrychlejší :-)
|
||
habendorf Profil |
#8 · Zasláno: 20. 4. 2005, 17:33:47
Jo. Ale mrkni sem: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=5&topic=57 22
|
||
Fred Profil |
#9 · Zasláno: 20. 4. 2005, 17:49:20
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 |
#10 · Zasláno: 20. 4. 2005, 18:08:04
Máš recht. A rozbije se i to menu :o(
|
||
Fred Profil |
#11 · Zasláno: 20. 4. 2005, 18:25:03
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 |
#12 · Zasláno: 20. 4. 2005, 18:43:11
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 |
#13 · Zasláno: 20. 4. 2005, 19:44:51
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 |
#14 · Zasláno: 20. 4. 2005, 19:56:56
Díky za překlad, zkusil jsem dát dotaz na fóru opery.
|
||
Oswald Profil |
#15 · Zasláno: 20. 4. 2005, 20:41:20 · Upravil/a: Oswald
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 |
#16 · Zasláno: 20. 4. 2005, 22:39:01
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 |
#17 · Zasláno: 22. 4. 2005, 18:28:03
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ší.
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0