私は特定の方法で処理したいhtml
ページとscript
を持っています:ロードされてから実行される前です。基本的に私はスクリプトをプリロードしたいが、特定の基準が満たされたら実行する。私はそれが(async
)を非ブロックしますので、スクリプトは他のスクリプトに依存しない:実行前の外部javascriptスクリプトのロードイベント
<script onload='onScripLoad()' scr='...' async></script>
私が欲しいのはonload
に似たものですが、ダウンロードしたスクリプトの前に実行されます。出来ますか?
ここで問題になるのは、スクリプトをあらかじめロードできても、アプリのライフサイクルで必要なイベントと同期できないことです。 onScripLoad
が実行されましたafter
スクリプトがロードされましたAND
after
実行されました。私が必要とするのは、スクリプトが実行されたときを制御する(実行を延期する)ことです。
詳細を追加するbody
で特定の要素が利用可能なときにスクリプトをプリロードして実行したいが、この要素の直後にスクリプトを置くことはできない。なぜなら、この場合、いくつかの他のリソースhead
にダウンロードされています。したがって、私はhead
にスクリプトを入れて、それをasync
にして、特定の要素が利用可能なとき(または実行前にその要素を作成するイベント)にのみ実行されるようにダウンロードします。私は制御できず、私の全ページがそれに依存することを好まないスクリプトなので、非同期にすることはできません。
外部スクリプトのコードを関数内に配置し、両方の条件が真である場合にのみその関数を呼び出すことはできませんか? – nnnnnn
外部スクリプトのロジックを関数内に格納することはできません。この関数は早期にロードされ、特定の条件が満たされたときにその関数をセカンダリスクリプトから呼び出しますか? –
これは、外部スクリプトを制御している場合、それを行う方法です。残念ながら、それは3Dパーティーのライブラリであり、ダウンロードされた直後に実行される特定のjavascriptを持っています。 –