2013-05-07 72 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

相關問題