javascript
  • html
  • ajax
  • dom
  • 2011-11-17 50 views 0 likes 
    0

    我在使用appendChild()追加<script>標記時未遇到新腳本標記中引用的JavaScript未運行的問題。在Firebug中,我得到一個通知,其中顯示「重新加載頁面以獲取源代碼」,但如果我重新加載JS,則會再次appendChild。如何在appendChild之後執行javascript代碼

    這裏是我的代碼:

    var divAd = document.createElement("div"); 
    divAd.innerHTML = '<script src="http:example.com/adenseload.js" language="javascript" type="text/javascript"></script>'; 
    titleBak.appendChild(divAd); 
    

    如何使用附加的JS使用後的appendChild()?

    感謝您的回答。

    +0

    你確定src屬性是正確的,加載後的js文件實際上調用了一個方法嗎? –

    +0

    是的,當在另一個js中加載文檔時,src是corrent.i'm appendChild()。 – viyancs

    回答

    3

    不要將它包裝在div中,直接創建腳本標記。這對我有效:

    var scriptTag = document.createElement("script"); 
    scriptTag.src = "http://example.com/myscript.js"; 
    bodyTag.appendChild(scriptTag); 
    
    +0

    我認爲你的代碼是真的,但divAd.innerHTML = ajaxResult在我的情況下是來自ajax,所以我不能創建元素腳本,因爲已經在結果中。 – viyancs

    +0

    您只能通過ajax而不是整個腳本標記來傳遞網址。 –

    +0

    你真的,爲什麼我不是那樣的笨蛋......愚蠢的...我使用代碼來獲取來自JavaScript標記的src var adScript = ad.getElementsByTagName(「script」); var index = adScript.length - 1; var adsScr = adScript [index]; var src = adsSrc.src;' – viyancs

    1

    您必須使用以下語句才能加載JS,

    document.write('<script src="', 'http:example.com/adenseload.js', '" type="text/JavaScript"><\/script>');

    您可以將HTMLobjects僅附加到DIV,而不是腳本標記

    相關問題