Autor Zpráva
Hitman
Profil
Dejme tomu že testuji pro IE 8, mám přepínatelný režim (IEčka) dokumentu s volbami:

Standardy
Adaptivní režim
Standardy apliakce I9
-""- IE 8 a 7
Adaptivní režim aplikace IE 5

Pokud uživatel přijde na stránku s IE 8 a mám v doctype standardní režim (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01"> ), je režim dokumentu přepnutý do "Standardy pro IE 8, u toho mám napsáno "výchozí nastavení stránky". Pokud mám v doctype qurik, mám označen jako výchozí nastavení "Adaptivní režim aplikace IE 5".

Proč zrovna IE 5?
A je možné nějakým způsobem přepnout do adaptivního režimu jako takového (první volba)? V tom se stránka totiž vykresluje naprosto perfektně.

// Zjistil jsem ještě že <meta http-equiv="X-UA-Compatible" content="IE=edge"> mi přepne stránku do "Standardy", ale na "Adaptivní režim" zatím stále nemůžu přijít.

Otázkou ale zůstává, zda ten meta tag bere v potaz i skutečný prohlížeč. Tester mi sice přepne stránku do "Standardy" a vykeslí se skoro správně, ale když ji testnu na netrenderer.com, tak se stejně vykreslí špatně..

Moderátor Chamurappi: Je to quirk, ne qurik, opravil jsem titulek.
Chamurappi
Profil
Reaguji na Hitmana:
Nevím, proč Microsoft začal quirku říkat „režim IE 5“. Je to úplná blbost, mezi vykreslováním v pětce a v quirku šestky byly propastné rozdíly. Od verze sedm se tento quirk skoro nijak nevyvíjel. Jeho charakteristickým rysem je okrajový box model.

Ve verzi 10 přidal MS nový quirk, který je víc podobný quirkům v ostatních prohlížečích — tomu říká „adaptivní režim“ bez čísla verze a zapíná se nepřítomností <!doctype> deklarace. Tento nový quirk ve starších verzích pochopitelně není a předpokládám, že se v nových verzích vyvíjí (tzn. že v jedenáctce podporuje nové vlastnosti jedenáctky).

Otázkou ale zůstává, zda ten meta tag bere v potaz i skutečný prohlížeč.
Bere. Ale edge znamená nejvyšší možnou verzi, takže osmička vykresluje osmičkovým standardem, nic víc umět nemůže.
Hitman
Profil
Díky za reakci a vysvětlení. Znamená to tedy že program špatně definuje mód, namísto "Standardy aplikace IE 8" označí jako výchozí "Standardy".
Chamurappi
Profil
Reaguji na Hitmana:
Teď ti asi úplně nerozumím.
_es
Profil
Hitman [#3]:
Ja som Chamurappiho vysvetlenie pochopil tak, že „Standardy“ z možností v [#1] znamená to, že sa použije najnovší štandardný mód, teda v IE8 to bude iný mód ako v IE11. Nenapísal si, v akej verzii IE to „testuješ pre IE8“.
Joker
Profil
Hitman:
Proč zrovna IE 5?
To jsem taky nepochopil. Asi to potřebovali nějak odlišit od toho druhého adaptivního režimu.

Jinak podle mě už v tom je slušný chaos.
Teď už alespoň díky [#2] vím, jaký je rozdíl mezi „Adaptivní režim“ a „Adaptivní režim IE 5“
Ale přes veškeré čtení nápověd jsem třeba nepochopil, jaký je vlastně rozdíl mezi „režimem prohlížeče“ a „režimem dokumentu“ (v IE 8-10).
IE11 snad má už jen režim dokumentu, ale zase u některých stránek jsou jen některé hodnoty a občas nejde měnit vůbec.

Chamurappi:
Tento nový quirk ve starších verzích pochopitelně není a předpokládám, že se v nových verzích vyvíjí (tzn. že v jedenáctce podporuje nové vlastnosti jedenáctky).
No asi se vyvinul tak, že ho zase zrušili :-)
Resp. v IE11 jsou možnosti: Edge, 10, 9, 8, 7 a 5. Nebo teda „jsou“… Když má stránka X-UA-Compatible nastavené na „edge“, nejde mi nastavit nic jiného než edge. Na jiné stránce zas jde přepínat jen mezi edge a 5.
Trejpa
Profil
Hitman:
Zjistil jsem ještě že <meta http-equiv="X-UA-Compatible" content="IE=edge"> mi přepne stránku do "Standardy", ale na "Adaptivní režim" zatím stále nemůžu přijít.
Hodnota edge tě přepne do nejnovějšího dostupného režimu.

Nejstarší quirk zajistí žádné doctype a <meta http-equiv="X-UA-Compatible" content="IE=5">.
Hitman
Profil
Chamurappi:
Teď ti asi úplně nerozumím.
No jde o to, že mi ten "firebug" či co to vlastně je označí při přidání <meta http-equiv="X-UA-Compatible" content="IE=edge"> režim jako "Standardní" (což považuji asi za nějakou nadčasovou verzi), namísto alespoň "Standardy pro IE8", lépe (jsem li v quirk módu - díky za opravu) by mi to mělo označit Adaptivní režim pro IE 8, což v nabídce ale není a "Adaptivní" označit nemůže, jelikž by šlo asi o nadčasovou verzi (v té si mi to vykresluje jako v IE 11 - při použití IE 8 a režimu "Adaptivní"), čili pokud se nebudu řídit programem, shrnu to takto:

Standardní režim - asi netřeba komentáře
Quirk mód - označen jako adaptivní režim, protože se prohlížeč jakoby adaptuje na staré dobré časy (zdroj jpw.cz)

Výběr verze režimu - po přidání <meta http-equiv="X-UA-Compatible" content="IE=X"> mi to přepne na vybranou verzi prohlížeče, kde X může být maximálně stejné jako verze prohlížeče, IE 9 -> X<=9, pokud použiji edge, autmaticky se dosadí nejvyšší možné X.

To jsou všechny možnosti, nic jako "univerzální adaptivní režim", nebo "univerzální standardní režim", neexistuje a v IE debugeru tak pozbývá své funkce, jelikož je to možné nasimulovat, ale reálně je to nepoužitelné.
_es
Profil
Hitman:
je to možné nasimulovat, ale reálně je to nepoužitelné.
Vo vývojárskych nástrojoch IE to môžeš prepnúť do všetkých režimov, do ktorých to môže prepnúť aj návštevník s maximálne takou verziou IE - je to závislé aj od doctype a spomínanej meta značky. Akú inú simuláciu by si potreboval?
Joker
Profil
Hitman:
No jde o to, že mi ten "firebug" či co to vlastně je
Má to docela prostý název: F12 :-)

"Standardní" (což považuji asi za nějakou nadčasovou verzi)
„Standardní režim“ je prostě označení standardního režimu aktuálního prohlížeče. Ale vlastně jde jen o pojmenování. Třeba IE8 má režimy 5, 7 a 8, akorát režim 8 nepojmenovává „Standardy IE8“, ale jen „Standardy“. To je celé.

lépe (jsem li v quirk módu - díky za opravu) by mi to mělo označit Adaptivní režim pro IE 8, což v nabídce ale není a "Adaptivní" označit nemůže, jelikž by šlo asi o nadčasovou verzi
Myslím, že to tak není. „Adaptivní režim pro IE8“ by v IE8 měl být právě ten „Adaptivní režim“.
Oprava: „Adaptivní režim pro IE8“ myslím neexistuje. Ten „druhý adaptivní režim“ má snad jen IE10.
V IE11 těch víc adaptivních režimů zdá se zrušili, takže je tam jen jeden adaptivní režim, který se jmenuje „5“.

To jsou všechny možnosti, nic jako "univerzální adaptivní režim", nebo "univerzální standardní režim", neexistuje
Svým způsobem „univerzální adaptivní režim“ existuje, je to právě ten „5“.

Takže když budu používat kratší pojmenování z IE11 (např. IE10: „Standardy Internet Explorer 8“, IE11: „8“):
- Je režim 5 = quirk, to je de facto právě ten „univerzální adaptivní režim“
- Pak jsou standardní režimy jednotlivých verzí: 7, 8, apod.
- Pak je „Edge“ neboli standardní režim, což je prostě standardní režim té verze, ve které pracuji.

Kromě toho IE10 má ještě „druhý quirk“, jak popsal Chamurappi. A ještě k tomu v IE8-10 existují ještě „režimy prohlížeče“, z čehož jsem už úplně vedle.
Chamurappi
Profil
Reaguji na Jokera:
No asi se [nový quirk] vyvinul tak, že ho zase zrušili :-)
To mi nezní moc pravděpodobně.

Sestavil jsem jednoduchou ukázku, kde je vidět rozdíl box modelu i document.compatMode. Nemám tady jedenáctku, ale svědectvím z druhé ruky jsem dospěl k závěru, že přepínání na nový quirk je u desítky a jedenáctky nezávislý parametr. Když se vybere desítkový režim a stránka nemá <!doctype>, používá se nový quirk (tak, jak fungoval v desítce), totéž v jedenáctkovém režimu (kde se používá nový quirk v jedenáctkové variantě). Je to docela rozumné, takhle to měli udělat hned na začátku a ne se tvářit, že je quirk nějaká prehistorická verze — stejně nakonec dospěli k tomu, že i quirk musejí vylepšit.

jaký je vlastně rozdíl mezi ‚režimem prohlížeče‘ a ‚režimem dokumentu‘ (v IE 8-10)
Režim prohlížeče měl být nízkoúrovňovější, měl by mít dopad i na HTTP hlavičky, asi hlavně na User-Agent. Ale také mi to není moc jasné.


Reaguji na Hitmana:
po přidání <meta http-equiv="X-UA-Compatible" content="IE=X"> mi to přepne na vybranou verzi prohlížeče, kde X může být maximálně stejné jako verze prohlížeče
Za X jde dosadit také EmulateIEN, pak se Explorer rozhodne, jestli použít standardní režim verze N nebo starý quirk podle toho, jak by se rozhodla verze N.
Joker
Profil
Chamurappi:
Je to docela rozumné, takhle to měli udělat hned na začátku a ne se tvářit, že je quirk nějaká prehistorická verze — stejně nakonec dospěli k tomu, že i quirk musejí vylepšit.
Předpoklad asi byl, že pro nové stránky se bude používat standardní režim a quirk zůstane pro existující staré stránky, takže by měl zůstat pokud možno neměnný.

Když se vybere desítkový režim a stránka nemá <!doctype>, používá se nový quirk (tak, jak fungoval v desítce), totéž v jedenáctkovém režimu (kde se používá nový quirk v jedenáctkové variantě).
Takže odstraněním doctype z existující „quirkové“ stránky by šlo zařídit, že stránka bude vypadat pořád stejně, ale zároveň budou fungovat věci přidané v nových verzích, dejme tomu třeba document.getElementsByClassName?
Tak to je zajímavé…
_es
Profil
Chamurappi:
„jaký je vlastně rozdíl mezi ‚režimem prohlížeče‘ a ‚režimem dokumentu‘ (v IE 8-10)“
Režim prohlížeče měl být nízkoúrovňovější, měl by mít dopad i na HTTP hlavičky, asi hlavně na User-Agent.
„Režim prehliadača“ má vplyv aj na podmienené komentáre, „režim dokumentu“ na ne nemá vplyv.

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: