IE 8和7在动态添加样式表时出错 [英] IE 8 and 7 bug when dynamically adding a stylesheet
本文介绍了IE 8和7在动态添加样式表时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码
var style = document.createElement('style');
style.setAttribute("type", "text/css");
if (style.textContent) { // FF, Safari
style.textContent = this.arg.css;
} else {
style.innerHTML = this.arg.css;// FF, IE
}
document.getElementsByTagName('head')[0].appendChild(style);
这在所有浏览器(也是IE 9)中正常工作,但对于IE7和IE8,我得到以下错误
This works fine in all browsers (also IE 9) but for IE7 and IE8, I get the following error
SCRIPT600:未知的运行时错误
SCRIPT600: Unknown runtime error
错误指向行
style.innerHTML = this.arg.css;// FF, IE
推荐答案
你可以这样尝试
var style = document.createElement('style');
var text = this.arg.css;
style.setAttribute("type", "text/css");
if (style.styleSheet) { // for IE
style.styleSheet.cssText = text;
} else { // others
var textnode = document.createTextNode(text);
style.appendChild(textnode);
}
var h = document.getElementsByTagName('head')[0];
h.appendChild(style);
这篇关于IE 8和7在动态添加样式表时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文