HTML5 Element Printing v Internet Exploreru

Nedávno jsem pracoval na webu vytvořeném s prvky HTML5, jako je záhlaví, zápatí, sekce a další, a Internet Explorer 8 mě probudil neslušně. Věděl jsem o hacku, aby se zajistilo, že se prvky vykreslují a stylují tak, jak by měly na obrazovce. .

// For discussion and comments, see: http://remysharp.com/2009/01/07/html5-enabling-script/
(function(){if(!/*@cc_on!@*/0)return;var e = "abbr,article,aside,audio,bb,canvas,datagrid,datalist,details,dialog,eventsource,figure,footer,header,hgroup,mark,menu,meter,nav,output,progress,section,time,video".split(',');for(var i=0;i<e.length;i++){document.createElement(e[i])}})();

..ale zajistit styling během tisku byl úplně jiný příběh. Navzdory výše uvedené podložce JavaScriptu se prvky stále nezobrazovaly správně, když jsem šel tisknout. Po vyzkoušení různých řešení byl můj poslední pokus nejúspěšnější; Modernizr's "print-shiv" extra! Tento shim obalí vaše prvky HTML5 prvky vhodnými pro tiskárnu během události onbeforeprint a poté se po spuštění události onafterprint vyčistí. Není třeba nastavovat žádné speciální konfigurace, jednoduše vložte soubor JavaScript do stránky. Jen jsem chtěl předat tento rychlý tip; přejděte na GitHub a stáhněte si ho!