ホームページ >ウェブフロントエンド >jsチュートリアル >innerHTML 経由で追加されたスクリプトが常に実行されないのはなぜですか?それを修正するにはどうすればよいですか?
innerHTML を使用して
サンプル コードで提供されている HTML は、
この問題に対処するために、すべての実行不可能なスクリプトを実行可能なスクリプトに再帰的に置き換える方法を紹介します。このメソッドは、nodeScriptReplace として知られ、DOM ツリーを横断してスクリプト要素を識別します。実行不可能なスクリプトが見つかった場合、スクリプトのクローンが作成され、実行可能なコンテンツが割り当てられ、元のスクリプト要素が置き換えられて、実行可能になります。
さらに、nodeScriptClone 関数は、スクリプト要素を抽出して実行可能なスクリプト要素を作成します。実行不可能なスクリプトの innerHTML とその属性の設定。これらの属性は新しい実行可能スクリプトに転送され、適切な動作が保証されます。
nodeScriptIs 関数は、タグ名を調べることによって、指定されたノードがスクリプト要素であるかどうかを確認します。
スクリプトを実行して表示するには「hi」アラートの場合は、ページのルート要素でnodeScriptReplaceを呼び出すだけです。以下のコード スニペットは、これを示しています。
nodeScriptReplace(document.getElementsByTagName("body")[0]);
このメソッドは、innerHTML を使用してページに追加されたスクリプトを実行するための堅牢なメカニズムを提供し、意図した機能を保証します。
以上がinnerHTML 経由で追加されたスクリプトが常に実行されないのはなぜですか?それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。