1. ホーム
  2. javascript

[解決済み] AJAX呼び出し後、innerHTMLから注入された<script>を実行する。

2022-09-25 16:50:14

質問

Content"というdivがあります。

<div id="content"></div>

を含むAJAXによって、PHPファイルからのデータで満たされる必要があります。 <script> タグがあります。しかし、このタグの中のスクリプトは実行されません。

<div id="content"><!-- After AJAX loads the stuff that goes here -->
   <script type="text/javascript">
     //code
   </script>
   <!-- More stuff that DOES work here -->
</div>

どのように解決するのですか?

DOMテキストとして挿入されたJavaScriptは実行されません。ただし 動的スクリプトパターン を使って目的を達成することができます。基本的な考え方は、実行したいスクリプトを外部ファイルに移動し、Ajaxのレスポンスを取得したときにscriptタグを作成することです。そして src 属性を設定すると、外部スクリプトが読み込まれ、実行されます。

この他のStackOverflowの投稿も参考になるかもしれません。 スクリプトは innerHTML で挿入できますか? .