2012-12-19 24 views
2

我對使用JavaScript插入動態創建的腳本有疑問。JavaScript動態創建腳本塊

這是我使用的代碼:

var body = document.getElementsByTagName('body')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = 'code.js'; 
    body.appendChild(script); 

我通常把腳本在頁面的底部,但如果它的動態插入這樣,是有辦法,以確保腳本放置在頁面底部?

+0

怎麼樣把它放在'DOMContentLoaded'? – Ryan

+0

我對此並不熟悉。你能解釋一下嗎? – JaPerk14

+0

執行'body.appendChild(script)'時,*將*作爲頁面的底部。你能澄清一下你的意思嗎? –

回答

2

如果它是這樣動態插入的,有沒有辦法確保腳本放在頁面的底部?

你已經用body.appendChild(script)做到了這一點;當然以後可能還會插入其他元素。

但是,因爲你是動態插入腳本,也絕對沒有必要確保將其放置在任何特定的位置 - 它加載並執行異步(既不阻止也不東西在等待着什麼)。您可以將放置在文檔的任何地方,甚至可以立即將其刪除,它不會影響任何負載或執行行爲。

0

有一種方法可以確保使用Jquery。該code.js DOM之後調用加載和穿着前右</body>標籤:

$(function() { 
var body = document.getElementsByTagName('body')[0]; 
    var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = 'code.js'; 
    body.appendChild(script); 
}); 
+0

請解釋與OP代碼的區別 – Bergi