From: benbro Date: Sat, 12 May 2012 00:40:40 +0000 (+0300) Subject: IE9 breaks when adding to many style elements to the page. X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b6077c739810dae8265486892e49c8d66cc62c77;p=pdf.js.git IE9 breaks when adding to many style elements to the page. --- diff --git a/src/fonts.js b/src/fonts.js index 22037e7..d22a543 100644 --- a/src/fonts.js +++ b/src/fonts.js @@ -20,6 +20,9 @@ var kPDFGlyphSpaceUnits = 1000; // Until hinting is fully supported this constant can be used var kHintingEnabled = false; +// A reference to a reusable style sheet. +var styleSheet; + var FontFlags = { FixedPitch: 1, Serif: 2, @@ -2374,11 +2377,14 @@ var Font = (function FontClosure() { window.btoa(data) + ');'); var rule = "@font-face { font-family:'" + fontName + "';src:" + url + '}'; - var styleElement = document.createElement('style'); - document.documentElement.getElementsByTagName('head')[0].appendChild( - styleElement); - var styleSheet = styleElement.sheet; + if(!styleSheet) { + var styleElement = document.createElement('style'); + document.documentElement.getElementsByTagName('head')[0].appendChild( + styleElement); + + styleSheet = styleElement.sheet; + } styleSheet.insertRule(rule, styleSheet.cssRules.length); if (PDFJS.pdfBug && FontInspector.enabled)