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

Zdroják » Zprávičky » How to make Modernizr 1.5 work with IE9 Platform Preview

How to make Modernizr 1.5 work with IE9 Platform Preview

Zprávičky Různé

Zprávička je dostupná i v češtině.

The well-known HTML5 testing library Modernizr 1.5 doesn’t work correctly in the MSIE9 Platform Preview browser. The reason is a non-standard IE9PP behavior, which isn’t sanitized in the library code.

The Modernizr library tests some properties with a such code:

if (m_style[property] !== undefined) ...

m_style is a shortcut for testing element’s style:

m = doc.createElement( mod ),
m_style = m.style

There are five properties tested in a CSS3 transformation test: ‚transformPro­perty‘, ‚WebkitTransform‘, ‚MozTransform‘, ‚OTransform‘ a ‚msTransform‘. The problem occurs in the IE9PP browser, which correctly returns undefined for the four properties, excepting the last one. Accessing the msTransform property doesn’t return either undefined or an object, but throws a „Not Implemented“ exception. test_props() function in the Modernizr library ver. 1.5 doesn’t catch this exception (nobody expects an exception here), so the whole script fails.

We can hope that next version of the IE9 browser (maybe the public beta) will fix it. Paul Irish, the Modernizr contributor, also reported it as a bug.

We can fix the Modernizr 1.5 library by enclosing the test into a try{} block, and catching the exception. Here is a patched version:

function test_props( props, callback ) {
    for ( var i in props ) {
        try {
          if ( m_style[ props[i] ] !== undefined && ( !callback || callback( props[i], m ) ))
             {return true;}
        } catch (e) { ; }
    }
}

We’ve been noticed about the problem, which affect our HTML5 Support Detector, by Štěpán Bechynský.

Komentáře

Odebírat
Upozornit na
guest
0 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
Zobrazit všechny komentáře

Robots.txt nestačí. AI crawleři mění, jak weby chrání obsah

Robots.txt zůstává základní signál pro slušné crawlery, ale už neumí popsat hlavní problém: stejný veřejný obsah může sloužit klasickému vyhledávání, AI odpovědím, tréninku modelů i načtení na pokyn uživatele. Provozovatel webu proto musí oddělit účel přístupu, ověřovat identitu botů, měřit dopad na infrastrukturu a u hodnotného obsahu řešit i vynucení pravidel mimo samotný robots.txt.

Jak funguje WordPress Cron a proč občas selhává

„Cron mi nějak neběhá." Klasická věta, která ve WordPress světě může znamenat cokoli od špatně nastavené WP_SITEURL, přes loopback zablokovaný Cloudflarem, až po fatal error v callbacku, který nechal viset transient doing_cron. WP-Cron totiž není skutečný scheduler — je to pseudo-cron závislý na návštěvnosti webu a HTTP loopbacku, se všemi pastmi, které si dokážete představit. Tenhle článek je hloubkový průchod jeho vnitřnostmi: co se reálně děje při spawn_cron(), kde vznikají race conditions, proč selhává a čím ho v produkci nahradit.