Avatar uživatele
Vojta24

Jak je možné, že se název barvy „ninjaturtle“ v HTML vyhodnotí jako zelená?

Jak je možné, že se název barvy „ninjaturtle“ vyhodnotí v prohlížeči jako zelená? Žádná dokumentace tuto vlastnost HTML nepopisuje.

<body bgcolor=„ninja­turtle“>

Co je za tím, jen smysl pro humor vývojářů prohlížečů? Jenže pokud je to jen vtípek, Easter egg, proč to tak dělají všechny prohlížeče různých výrobců ? 🙂

Zajímavá 0 před 2035 dny Sledovat Nahlásit



Nejlepší odpověď
Avatar uživatele
anonym

Ze stejného důvodu, proč se bgcolor=„chuc­knorris“ vyhodnotí jako červená. To už na internetu kolovalo v dřevních dobách webdesignu, kdy trhu dominoval Netscape.

Kupodivu to není pokus o vtip ze strany vývojářů, ale jen obyčejná náhoda. Vyplývá ze způsobu jak je ten vlastně chybný řetězec benevolentně zpracováván a převáděn na tři číselné hodnoty barevných složek RGB, které výslednou barvu ve finále tvoří.

Všechny znaky mimo rozsah 0–9, A-H jsou změněny na nulu, protože v hexadecimálním zápisu nemají co dělat (je to dost zvláštní chování, ale tehdy skutečně platilo že prohlížeč i blbá data musí nějak zpracovat a nesmí nikdy vyhodit chybu, i kdyby je zpracoval nesmyslně, nějak je zpracovat musí a vyrovnat se s překlepy). Takže z ninjaturtle je rázem jen „0000a00000e“ ten se rozdělí na tři sekvence, 0000 a000 00e a každá se zprava ořízne na délku 2 znaků takže 00 a0 00 . Tyto hexa hodnoty se převedou na decimální vyjádření tří složek RGB(0,160,0) a máme zelenou 🙂 – žádný záměr, jen náhoda, která vychází z dost zoufalého způsobu zpracování té hodnoty, který si měl „nějak“ poradit se vším.

Stejné je to u barvy „chucknorris“. Po hexa filtraci zbude jen c00c0000000. prevodem na tri sekvence získáme c00c 0000 000, zkrácením na dvě pozice c0 00 00 a převodem na dekadický tvar RGB(192,0,0), což je červená.

Upravil/a: anonym

0 Nominace Nahlásit

Další odpovědi
Avatar uživatele
annas

Stejný případ je např. " Proč si HTML myslí, že chucknorris je barva?"

Vysvětlení, jak vznikají náhodné řetězce

https://allino­nescript.blog­spot.com/2017/01­/why-does-html-think-chucknorris-is-color.html

a další

https://www.go­ogle.com/sear­ch?q=body+bgco­lor%3D%22ninja­turtle%22%3E&cl­ient=firefox-b-d&ei=QpHvXMqZBoP­CwQLm85LQBw&star­t=10&sa=N&ved=0a­hUKEwjKwtuR6MLi­AhUDYVAKHea5BHoQ8tMDCI­UB&biw=1112&bih=868

--
https://src-bin.com/en/q/7eefbf

V odkazu uvádí autor příspěvku č. 4, že "prohlížeč se snaží převést výraz chucknorris do hexadecimálního kódu, protože to není platná hodnota prohlížečů.

Spojení chucknorris neodpovídá webovým standardům. Webové standardy mu odpovídají. # BADA55

Zdá se, že je to problém především s Internetem Explorerem (12) a Operou (12), protože Chrome (31) i Firefox (26) to prostě ignorují.

PS Čísla v závorkách jsou verze prohlížeče, na kterých jsem testoval."

Upravil/a: annas

0 Nominace Nahlásit


Diskuze k otázce

U otázky nebylo diskutováno.

Nový příspěvek
Zajímavé otázky v kategorii Počítače a internet