neděle 10. února 2008

Vyhledávání podle CSS selectorů ve WebKitu

V posledních nočních buildech WebKitu (prohlížeč Safari) najdete nativní implementaci funkcí querySelector() a querySelectorAll().

Obě funkce jsou součástí specifikace Selectors API, o jejíž přípravě jsem se zmiňoval loni v létě, a umožňují snadné vyhledávání elementů pomocí syntaxe známé z CSS. Například document.querySelectorAll("#menu :visited"); vrátí všechny odkazy z menu, které již uživatel navštívíl.

Podobný přístup se dnes používá v řadě knihoven (jQuery, Prototype a další). Cílem specifikace Selectors API je používané přístupy sjednotit. Nativní implementace v prohlížečích bude navíc oproti javascriptovým knihovnám rychlejší, o čemž se můžete přesvědčit na testovací stránce. Na mém počítači běží nativní implementace (poslední sloupec tabulky) více jak o jeden řád rychleji, posuďte sami:

Webkit je první jádro, které zmíněné funkce implementovalo, proto zatím asi nikdo nebude obě volání používat přímo. Je více než pravděpodobné, že nové verze javascriptových knihoven budou rozpoznávat prohlížeče s nativní implementací a sami vyberou rychlejší variantu. Kód tak bude fungovat všude, ale v některých prohlížečích mnohem rychleji.

Žádné komentáře:

Okomentovat

Poznámka: Komentáře mohou přidávat pouze členové tohoto blogu.