0
這可能嗎?如何運行嵌入到.innerHTML中的嵌入式JavaScript?
我插入一個簡單的測試片段這樣
<script type="text/javascript">//<![CDATA[
document.write('foo');
//]]></script>
但不起任何作用。 (W3學校建議使用CDATA here,但這並沒有幫助)。
重申這段代碼被寫入body標籤的.innerHTML屬性中。
我在谷歌上看到了一些關於eval()的提及,但不太確定這是相關的還是很好的做法?
在eval中包裝代碼就像他們做here at W3沒有任何效果。
是的,'eval()'通常不是很好的做法,但是可以有適當的時候。許多程序員使用這些功能來彌補更大的設計缺陷。鑑於缺乏實際調用腳本的上下文,我無法評論您的使用情況。 – taz
我強烈建議不要使用.innerHTML來運行所有的JS。如果你沒有腳本運行,並且沒有事件處理程序來啓動腳本,你沒有辦法調用你使用.innerHTML插入的腳本。您可能需要查看jQuery及其.ready()函數(請參閱http://api.jquery.com/ready/)。你爲什麼試圖模擬一個onload事件?我假設你無法使用現有的onload事件或其他處理程序? 編輯 - 這是爲了迴應我不再看到的OP註釋 – taz
當您使用實際對象動態添加它時執行它,而不是.innerHTML –