Skip to content

Commit

Permalink
Merge pull request #2000 from David-Hari/master
Browse files Browse the repository at this point in the history
Set CSS text after style element is added to DOM, to fix crash on IE < 9...
  • Loading branch information
lukeapage committed May 11, 2014
2 parents f56c7bf + c75bb15 commit 6075c81
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions lib/less/browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,7 @@ function createCSS(styles, sheet, lastModified) {
}
css.id = id;

if (css.styleSheet) { // IE
try {
css.styleSheet.cssText = styles;
} catch (e) {
throw new(Error)("Couldn't reassign styleSheet.cssText.");
}
} else {
if (!css.styleSheet) {
css.appendChild(document.createTextNode(styles));

// If new contents match contents of oldCss, don't replace oldCss
Expand All @@ -148,6 +142,17 @@ function createCSS(styles, sheet, lastModified) {
oldCss.parentNode.removeChild(oldCss);
}

// For IE.
// This needs to happen *after* the style element is added to the DOM, otherwise IE 7 and 8 may crash.
// See http://social.msdn.microsoft.com/Forums/en-US/7e081b65-878a-4c22-8e68-c10d39c2ed32/internet-explorer-crashes-appending-style-element-to-head
if (css.styleSheet) {
try {
css.styleSheet.cssText = styles;
} catch (e) {
throw new(Error)("Couldn't reassign styleSheet.cssText.");
}
}

// Don't update the local store if the file wasn't modified
if (lastModified && cache) {
log('saving ' + href + ' to cache.', logLevel.info);
Expand Down

0 comments on commit 6075c81

Please sign in to comment.