Autor | Zpráva | ||
---|---|---|---|
Chamurappi Profil |
#1 · Zasláno: 5. 5. 2011, 18:30:11
Zdravím,
potřeboval bych na jedné stránce potlačit výchozí standardní režim Exploreru 8, ideálně bez detekce prohlížeče na straně serveru. Zdá se, že ten krásně promyšlený zmatek v režimech něco takového neumožňuje. MSDN sice slibuje, že by to jít mělo, ale ukazuje to pouze na případu vyloučení režimu IE7 (což je dost nerealistický scénář, protože sedmička X-UA-Compatible stejně nepodporuje), a o kousek výš de facto popírá, že by mělo jít nějaký režim vyloučit vysvětlením, že rozhodující je vždy nejvyšší uvedené číslo a u toho nevadí, když je vyšší než stávající verze (moc nechápu, proč to takhle vymysleli).
Podle náznaků na MSDN by mělo jít tohle: <meta http-equiv="X-UA-Compatible" content="IE=9; IE=7"> Má někdo nějaký tip? |
||
Yur4Y Profil |
#2 · Zasláno: 5. 5. 2011, 18:56:44
Chamurappi:
„o kousek výš de facto popírá, že by mělo jít nějaký režim vyloučit vysvětlením, že rozhodující je vždy nejvyšší uvedené číslo a u toho nevadí, když je vyšší než stávající verze“ To je zaujímavé. Nevyjadrím sa priamo k problému, ale skúsil som pre Explorer 9 aplikovať hlavičku "IE=10; IE=8" a stránku zobrazoval v móde IE8. Je možné, že pre IE9 zmenili logiku správania? Ešte by som podotkol, že Explorer pri prostom refreshi nie vždy zmení mód dokumentu tak, ako káže jeho algoritmus podľa X-UA-Compatible hlavičiek; niekedy sa mi stránka zobrazí v takom móde, ktorý bol nastavený pri predošlom načítaní stránky. Odporúčam otvoriť F12, v ňom zoznam módov dokumentu a tam pozrieť, ktorý z nich je označený ako "predvolené stránkou". |
||
_es Profil |
#3 · Zasláno: 5. 5. 2011, 18:59:37
Chamurappi:
Nestačí použiť vhodnú kombináciu podmienených komentárov a <meta> značiek? |
||
Yur4Y Profil |
#4 · Zasláno: 5. 5. 2011, 19:07:15
_es:
Pokiaľ viem, Explorer umožňuje použiť len veľmi máličko elementov a iných konštrukcií pred <meta http-equiv=X-UA-Compatible> značkami, aby sa mohli uplatniť pravidlá nimi dané. Komentár, aj ten podmienený, je jednou z vecí, ktoré spôsobia, že všetky nasledujúce X-UA-Compatible "hlavičky" budú ignorované. |
||
_es Profil |
#5 · Zasláno: 5. 5. 2011, 19:32:56
Yur4Y:
„Komentár, aj ten podmienený, je jednou z vecí, ktoré spôsobia, že všetky nasledujúce X-UA-Compatible "hlavičky" budú ignorované.“ Ale ak je ten podmienený komentár ako prvá vec na stránke a v jeho vnútri je tá <meta> značka, tak by to možno mohlo fungovať. |
||
Chamurappi Profil |
#6 · Zasláno: 6. 5. 2011, 11:17:16
Zatím jsem použil na straně serveru detekci řetězce
Trident/4.0 v hlavičce User-Agent .
Reaguji na _es: Podmíněné komentáře se zpracovávají, až když je o režimu jasno. Vyzkoušel jsem, jestli to náhodou nefunguje nějak zázračněji, a ne. „Ale ak je ten podmienený komentár ako prvá vec na stránke […]“ V době, kdy cílové zařízení hledá klíčové informace, které potřebuje znát HTML parser (což může být i charset nebo <!doctype> ), se stránka předžvýkává jednodušším parserem — ten je rád, že vůbec umí přeskočit komentáře. Bylo by zvláštní, kdyby třeba šlo <meta> značkou v podmíněném komentáři cíleném na devítku přepnout režim na osmičku a dalším komentářem cíleným na osmičku na sedmičku… nebo zpátky na devítku :-)
Reaguji na Yur4Ye: „Je možné, že pre IE9 zmenili logiku správania?“ Možná ano. Vysvětlovalo by to, proč si povídání na MSDN protiřečí. „Explorer pri prostom refreshi nie vždy zmení mód dokumentu“ Ano, je to trochu náladové, proto jsem používal k pokusům různé domény (aliasy), čímž jsem veškerou umělou inteligenci obešel. Aspoň doufám. „Odporúčam otvoriť F12, v ňom zoznam módov dokumentu a tam pozrieť, ktorý z nich je označený ako "predvolené stránkou".“ Tam jsem také koukal. |
||
_es Profil |
#7 · Zasláno: 6. 5. 2011, 11:34:09
Chamurappi:
„Bylo by zvláštní, kdyby třeba šlo <meta> značkou v podmíněném komentáři cíleném na devítku přepnout režim na osmičku a dalším komentářem cíleným na osmičku na sedmičku…“ Ja som vyskúšal na začiatku stránky kód: <!--[if IE 8]><meta http-equiv="X-UA-Compatible" content="IE=7"><![endif]--><!DOCTYPE HTML> Opačné poradie: <!DOCTYPE HTML><!--[if IE 8]><meta http-equiv="X-UA-Compatible" content="IE=7"><![endif]--> Trochu mám v tom zmätok, o prepnutie ktorého z tých dvoch režimov vlastne ide. |
||
_es Profil |
#8 · Zasláno: 6. 5. 2011, 19:22:22 · Upravil/a: _es
Chamurappi:
Nerieši ten prvý kód v [#7] tvoj dotaz? Alebo to nejako vadí iným prehliadačom? |
||
Chamurappi Profil |
#9 · Zasláno: 6. 5. 2011, 19:37:14
Reaguji na _es:
Ještě jsem se nedostal ke strojům, kde bych to mohl vyzkoušet. Pokud to skutečně funguje tak, že jen osmičku (nikoliv i devítku) to přepne do sedmičkového režimu, tak je to fajn. Byla by to sice odpověď na moji otázku, nicméně předpokládám, že sedmičku ten komentář shodí do quirku (jako jakýkoliv komentář před <!doctype> deklarací), což je v mém případě opět nežádoucí. Prověřím později.
|
||
_es Profil |
#10 · Zasláno: 6. 5. 2011, 19:48:02 · Upravil/a: _es
Chamurappi:
„nicméně předpokládám, že sedmičku ten komentář shodí do quirku (jako jakýkoliv komentář před <!doctype> deklarací), což je v mém případě opět nežádoucí.“ V IE6 to je v štandardnom móde, takže ani IE7 sa asi nebude správať inak. Nemyslel si namiesto HTML komentára XML deklaráciu? Pre IE asi podmienené komentáre nie sú HTML komentármi. |
||
Časová prodleva: 13 let
|
0