有没有办法从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);
}
Run Code Online (Sandbox Code Playgroud)