Přejít k navigační liště

Zdroják » Zprávičky » Nejkratší možná detekce Internet Exploreru má pouhých 9 znaků

Nejkratší možná detekce Internet Exploreru má pouhých 9 znaků

Před dvěma roky Dean Edwards hledal krátkou a elegantní detekci Internet Exploreru a přišel s pěkným řešením /*@cc_on!@*/false(pokud vás zajímá princip, přečtěte si o podmíněných komentářích v JavaScriptu Internet Exploreru). Již samovolně pak vznikla soutěž o nejkratší možnou detekci (zapojili se i Češi) a objevila se řada originálních nápadů, např./*@cc_on!@*/0; nebo superkrátký a pravděpodobně dosavadní vítěz //@cc_on=1 . Tyto výrazy vrací true v Internet Exploreru, v ostatních prohlížečích vrací  false.

Ačkoliv fungovaly spolehlivě, měly jednu chybu – byly špatně zapamatovatelné. Andrea Giammarchi přišel s dalším řešením, postaveném na chybě v IE, konkrétně na nerozpoznání escapovaného znaku „v“ (IE jej vidí jako písmeno „v“). Pro detekci IE vám tak postačí devíti znakový výraz 'v'=='v', který je již snadno zapamatovatelný.

Můžeme vůči němu namítat, že je se jedná o využití známé chyby prohlížeče, která může být jednoho dne (třeba v IE9) opravena a kód přestane fungovat. Můžeme ostatně namítat, že dnes bychom se měli jakékoliv detekci prohlížečů vyhnout obloukem, jak se třeba snaží v poslední verzi vývojáři jQuery, protože dnes už detekce prohlížečů není nutná. To vše nám ale nebrání v malé oslavě nového rekordmana o velikosti pouhých 9 znaků.

(Zdroj: Ajaxian)

Komentáře

Odebírat
Upozornit na
guest
1 Komentář
Nejstarší
Nejnovější Most Voted
Daniel Steigerwald

jQuery přístup, tedy testovat přímo chování prohlížeče, bez detekce jeho konkrétní verze, nemůže vždy fungovat. Vlastně, v jQuery funguje pouze protože tento framework je sám o sobě dost omezený.. Bylo by krásné, kdybychom mohli všechno detekovat skrz Javascript, ale to prostě nejde. Příklady? backgroundImage cache pro IE6, tabindex pro neformulářové prvky, 2px bug pozice myšího kurzoru, memory leaks, existence specialních eventů (selectstart, mousewheel..) a tak dále.. I když musím říct, že se mi jQuery přístup líbí, prohlašovat, že detekce prohlížeče není třeba je blbost.

Co je nového v Gitu 2.55.0

Git 2.55.0 přináší šest zajímavých novinek – od dlouho očekávané podpory fsmonitoru na Linuxu, přes zjednodušení úprav historie commitů pomocí nového příkazu git history fixup, až po další krok v postupné integraci jazyka Rust do jádra Gitu. Přidává se i možnost pushovat do skupiny vzdálených repozitářů, omezit šířku grafu u git log --graph a zrychlit git grep a git cherry v částečných klonech.

Od statických stránek k edge computingu: Historie webových technologií za 30 let

Třicet let. Tak dlouho už web existuje v podobě, kterou bychom dnes alespoň zhruba poznali — od prvních statických dokumentů přes éru aplikací běžících v prohlížeči až po kód, který se spouští na stovkách míst po celém světě jen pár milisekund od uživatele. Tenhle příběh ale není jen suchým výčtem technologií a verzí. Je to příběh jednoho kyvadla, které se celé tři dekády houpe mezi serverem a klientem — a které právě teď nachází nový bod rovnováhy někde uprostřed, na okraji sítě.