有没有一种方法可以将javascript文件中的字符串中的css添加到使用javascript的文档的开头?
假设我们有一个网页,其中包含一个灯箱脚本,该脚本需要一个css文件才能运行。
现在,添加此css文件<link>
将使css文件下载,即使对于未启用js的用户也是如此。
我知道我可以使用脚本动态加载css文件,但这也意味着将有2个http请求,并且在文件中几乎没有css的情况下,我发现这种效率低下。
所以我对自己想,如果您可以将css文件中的css放入脚本中,让该脚本解析css并将其添加到头部,或者更好的是让脚本直接将css添加到脚本中的 <head>
该文件中。
但是我没有在网上发现任何暗示这是可行的方法,因此是否有可能用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);
}