2013-05-07 34 views
0

我写了一个小部件,它依赖于必须将一个css文件注入html页面。在不使用onload(IE)的情况下将css注入页面?

我使用下面的代码注入的CSS表:

   var link = document.createElement("link"); 
       link.href = "http://myurl.com/style.css"; 
       link.rel = "stylesheet"; 
       document.body.appendChild(link); 

这适用于所有浏览器,除了IE,这一工作在IE我必须做:

在window.onload

像这样:

window.onload=function() { 
    //inject here 
} 

我想找到一种方法来做到这一点,而不必使用在window.onload,因为在window.onload只加载我的窗口小部件时所有的页面加载,更大的网页需要永远加载插件..有任何解决方法?

回答

1

我假设这个脚本在正文中。追加到头部而不是身体

document.getElementsByTagName("head")[0].appendChild(link); 
+0

如果目标页面没有头标记,会发生什么情况? (我知道这是罕见的,但它_can_ happend):) – Alosyius 2013-05-07 18:58:47

+0

什么页面没有头?这是风格应该生存的地方。 – epascarello 2013-05-07 18:59:38

+0

@Alosyius有些页面使用''而不是''。任何事情都可能发生。 – Ian 2013-05-07 19:00:12

相关问题