2013-01-24 87 views
3

可能重複:
How to append a line of JavaScript (rather than an exteral .js file)?追加內嵌JavaScript的腳本標籤

我試圖動態創建的腳本。我想將內嵌JavaScript附加到腳本標記。

我的代碼

var script = document.createElement("script") 
    script.type = "text/javascript"; 
    var scriptContents = 'var isActive; window.onfocus = function() { isActive = true; }; window.onblur = function() { isActive = false; };'; 
    var textNode = document.createTextNode(scriptContents); 
    script.appendChild(textNode); 
    document.getElementsByTagName("head")[0].appendChild(script); 

我想這樣做的原因是爲了檢測瀏覽器的標籤是否是活動還是不

我的代碼失敗,錯誤

SCRIPT65535:意外的電話方法或財產訪問。

上線

script.appendChild(textNode); 

感謝您的幫助

+0

所以,你想要把JavaScript內容你動態創建的腳本標記中? – ModernDesigner

+1

幾乎沒有理由這樣做。如果代碼是已知的,那麼它可以只是您需要的其他代碼中的一個函數。如果你真的需要動態添加代碼,那麼你可以使用'eval()'從文本添加代碼。 – jfriend00

回答

-2

Java腳本的將被評估(通過Web瀏覽器編譯)加載頁面後一次。在飛行中生成的內聯腳本函數不會被瀏覽器識別。

創建腳本主體可以使用的.src

var script = document.createElement("script").src = scriptContents; 

OR ..

var script = document.createElement("script"); 
script.type = "text/javascript"; 
script.src = "//anycdn.com/api/lib.js"; //url to script CDN 
+0

額外的橢圓在那裏。 – sanepete