document.createElement("script") を使用した同期スクリプト インジェクション
.js ファイルを同期的に呼び出し、その関数をすぐに使用しようとする場合、制限があります。提供されたコード スニペットは、スクリプトをロードして関数を呼び出そうとする試みを示していますが、スクリプトがまだロードされていないために失敗します。
ロード イベント ハンドラーをスクリプトに割り当てると問題が解決される場合もありますが、特に、インクルードされたスクリプトが独自の関数を持つ追加のスクリプトを挿入する場合、一貫して動作することは保証されません。
この課題に対処する 1 つのアプローチには、カスタム Include() を作成することが含まれます。 function:
Include('my1.js'); Include('my2.js'); myFunc1('blarg'); myFunc2('bleet');
この関数は、XMLHttpRequest を使用してスクリプトをフェッチし、それをグローバルに評価できます。別の方法は、script 要素を作成し、それを head 要素に追加し、eval() を使用してそのソースを直接評価することです。ただし、このアプローチではスコープの問題が発生しやすい可能性があります。
もう 1 つのオプションは、Requirejs や yepnope などの既存のスクリプト読み込みツールを利用することです。これらのツールは、非同期スクリプト読み込みの複雑さを処理し、さまざまな状況に堅牢なソリューションを提供します。これらのツールを使用すると、開発者は外部スクリプトを組み込み、使用するプロセスを簡素化できます。
以上が「.js」ファイル関数を同期的に呼び出す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。