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
Inline Feedbacks
Zobrazit všechny komentáře
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.

Stav SIMD v Rustu v roce 2025

Různé
Komentáře: 1
SIMD - neboli Single Instruction, Multiple Data - znamená, že procesor může jednou instrukcí zpracovat více datových prvků najednou. Typicky to znamená, že místo sčítání dvou čísel přičtete dvě sady čísel paralelně. To může přinést výrazné zrychlení například při zpracování obrazu, audia nebo numerických výpočtů. Pokud již SIMD znáte, tato tabulka je vše, co budete potřebovat. A pokud s SIMD teprve začínáte, tabulku pochopíte do konce tohoto článku

GPUI Component: moderní Rust GUI komponenty pro cross-platform desktop aplikace

Různé
Komentáře: 0
GPUI Component je open-source Rust knihovna rozšiřující framework GPUI o více než 60 moderních, nativních a multiplatformních UI komponent. Staví na deklarativním přístupu, stateless renderování a jednoduchém API inspirovaném Reactem či Yew. Díky optimalizovanému výkonu, podpoře témat a flexibilním layoutům umožňuje rychlý vývoj desktopových aplikací, jako je například trading nástroj Longbridge Pro. Knihovna je licencována pod Apache 2.0 a dostupná na GitHubu.