3

重複の可能性:
.innerHTMLで挿入された<script>要素を実行
するページの読み込み時に<script>タグをHTMLに動的に挿入する

私が言いたいのは、私が.innerHTMLを書くと、

<script type="text/javascript" src="source.js"></script>

また

<script type="text/javascript"> // embedded code here </script>

埋め込まれたコードは実行されず、コードへのリンクも実行されません。「死んだ」です。

手動でトリガーする方法はありますか?

4

1 に答える 1

3

javascript を head タグに追加する必要があります。

var head = document.getElementsByTagName("head")[0];         
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
head.appendChild(newScript);

(これは非常に一般的なことですが、ここからコードをコピーしました: http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS )


余談ですが、jQuery を使用する場合は、次のように書きたくなるでしょう

<script>
    [....]
    $( "head" ).append( "<script src='myScript.js'></script>" ); 
    [....]
</script>

</script>JavaScriptパーサーが最初のものを見て、そこで解析を停止するため、これは機能しないことに注意してください。

于 2012-05-14T20:45:13.540 に答える