čtvrtek 28. srpna 2008

Firefox asi implementuje window.toStaticHTML z IE8

Součástí přicházejícího Internet Exploreru 8 je i nová metoda windows.toStaticHTML. Ta z jakéhokoliv HTML fragmentu udělá fragment bezpečný, zcela zbavený skriptů. Ve světě dennodenních XSS problémů je to užitečná věc. Zejména, protože se blíží crossdomain-AJAX (samostatná specifikace) a crossdomain zasílání zpráv mezi okny (součástí HTML5).

Také vývojáři Firefoxu uvažují o implementaci toStaticHTML. V tuto chvíli se jedná o nestandardní rozšíření ze strany prohlížečů, pokud se ovšem k implementaci rozhodne i Firefox (a pravděpodobně se rozhodne), bude toStaticHTML na tuty zařazeno do specifikace HTML5.

Proč? Historie nás poučila, že pokud cokoliv implementují dva prohlížeče na vrcholu žebříčku popularity (a to IE a FF jsou), ostatní ono "cokoliv" implementují rovněž. A je lepší, pokud to rovnou implementují správně (resp. interoperabilně = každý stejně), než aby několik let po implementaci vychytávaly chyby.

Všimněte si, nakolik se dnešní situace liší od doby před takovými šesti lety, kterou někteří z nás asi ještě pamatují. Tenkrát často trvalo roky, než se jeden prohlížeč odhodlal k implementace nestandardního rozšíření jiného prohlížeče (document.all, innerHTML, contenteditable a další). Dnes jde vše neuvěřitelně rychle (toStaticHTML byla oznámena letos na jaře a ještě ji nikdo nestačil ani začít používat). Prohlížeče jsou pod vzájemným drobnohledem a nechtějí si nechat ujet vlak.

Pokud se implementace včas podchytí, může i tato nestandardní situace proběhnout zcela bez problému a webdesigneři nakonec budou jásat nad novou vlastností webových standardů, aniž by měli potuchy, že se ve skutečnosti jedná o standardizované nestandardní rozšíření. To jim je ostatně šumafuk.

3 komentáře:

  1. To je zajímavý. Jestlipak se taky myslí na scripty schované pod css nebo url?
    v6ak

    OdpovědětVymazat
  2. > Všimněte si, nakolik se dnešní situace liší od doby před takovými šesti lety, ...

    No ono to bývalo ještě horší. Pokud nějaký důležitý prohlížeč, ať už Explorer nebo Netscape, přišel s vlastním rozšířením, které se ukázalo jako užitečné (např. cursor:hand), pak se dostalo i do specifikace, ale jako naschvál s nekompatibilní změnou (např. cursor:pointer). Ostatní pak implementovali specifikaci, a ten, kdo s nápadem přišel, byl za špatného, že nedodržuje specifikaci. Díky, díky za Hixieho pragmatismus!

    OdpovědětVymazat
  3. UŽ ABY TO BYLO, hlavne kdyz do iframe reklamnoho systemu dnes perou inzerenti framekillery a podobne...

    snad to zakaze i scrioty v css a tak podobne... Proste vsechny potomky rodice, ktereho takle oznacim...

    OdpovědětVymazat

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