2012-11-15 60 views

回答

1

最簡單的方法是簡單地將<script>元素動態添加到DOM。

<script> 
var scripts = [ 'a.js', 'b.js', ... ]; 
for (var i = 0; i < scripts.length; ++i) { 
    document.write('<script src="' + scripts[i] + '"></' + 'script>'); 
} 
</script> 

請注意,您只能在DOMContentReady事件之前做到這一點被觸發。

順便說一句,Google Closure Library使用這種技術。作爲旁註,您可能希望將腳本連接成單個文件,這樣可以節省自己(和用戶)的HTTP請求並獲得更快的頁面加載。

什麼是很酷這是一個腳本下載和結束</script>標記之後的評價,所以你不必等待任何事情之前,你可以使用它們:

<!-- Let's pretend that a.js defines a function A() --> 
<script>document.write('<script src="a.js"></' + 'script>');</script> 
<script> 
var a = new A(); 
</script> 
+0

您可以隨時添加腳本標籤,而不僅僅是在'DOMContentReady'之前。你的意思是說你不能在'DOMContentReady'後面使用'document.write'。只需使用DOM操作來添加它。 –

+0

是的,這就是我的意思。通過「this」,我的意思是「document.write」。對困惑感到抱歉。 –

0

其實我也可以這樣做的答案,而不僅僅是一個評論,require.js具有你正在尋找的功能,特別是看看this文檔頁面,看看它在瀏覽器中使用。