有没有办法将javascript文件中的字符串中的css添加到使用javascript的文档的开头?
假设我们有一个网页,其中包含一个灯箱脚本,该脚本需要一个css文件才能运行。
现在,添加此css文件将使css文件下载,即使对于未启用js的用户也是如此。
我知道我可以使用脚本动态加载css文件,但这也意味着将有2个http请求,并且在文件中几乎没有css的情况下,我发现这种效率低下。
所以我对自己想,如果您可以将css文件中的css放入脚本中,让该脚本解析css并将其添加到头部,或者更好的是让脚本直接将css添加到在
该文件中。但是我没有在网上发现任何暗示这是可能的事情,那么是否有可能用js将css添加到头部?
编辑+解决方案:
我编辑了roryf的答案以跨浏览器工作(IE5除外)
Javascript:
function addcss(css){
var head = document.getElementsByTagName('head')[0];
var s = document.createElement('style');
s.setAttribute('type', 'text/css');
if (s.styleSheet) { // IE
s.styleSheet.cssText = css;
} else { // the world
s.appendChild(document.createTextNode(css));
}
head.appendChild(s);
}