2010-12-22 70 views
0

我試圖建立一個小書籤(如http://erkie.github.com/)。我需要做的是包含一個jsfile,並在該jsfile中,我將包括另一個jsfile和一個CSS文件。從小書籤內動態包含CSS的問題

我在書籤以下幾點:

javascript:var script = document.createElement('script');script.id='invoketest';script.type='text/javascript';script.src='http://mydomain.com/start.js';document.getElementsByTagName("head")[0].appendChild(script);void(0); 

這將包括我start.js文件,這工作得很好。現在我start.js文件看起來像這樣:

var script2 = document.createElement('script'); 
    script2.type = 'text/javascript'; 
    script2.src = 'http://mydomain.com/someother.js'; 
    document.getElementsByTagName("head")[0].appendChild(script2); 

    var script1 = document.createElement('link'); 
    script1.rel = 'stylesheet'; 
    script1.type = 'text/css'; 
    script1.href = 'http://mydomain.com/someCSS.css'; 
    document.getElementsByTagName("head")[0].appendChild(script1); 

這方面的工作,爲「someother.js」加載腳本就好了。但「someCSS.css」由於某種原因未被加載。

即時通訊測試在鉻,但它不能在IE和FF工作。

希望這是有道理

BR /淑娜

+0

請將這些腳本(bookmarklet和start.js)包含在匿名包裝函數中;現在您可能會覆蓋當前頁面上腳本寫得不好的腳本的全局命名空間中的`script`,`script1`和`script2`。順便說一句,你有任何控制檯中的錯誤信息?你看到一個新的元素被添加到DOM? – 2010-12-22 12:36:04

+0

嗨馬塞爾。感謝您的建議! – sunebrodersen 2010-12-22 12:54:20

回答

0

原來增加

void(script1); 

的SCRIPT1塊之後和同爲SCRIPT2幫助。現在CSS加載得很好。

BR/Sune