クライアント側のスキルセットを超えた異常な問題があります。script
本文に 2 つの連続したタグを含む html ページがあります。どちらscript
のタグも ajax リクエストを起動してコンテンツを取得し、それを DOM に配置します。私は最初のscript
タグを制御していますが、2 番目のタグに関する制御や知識はありませんscript
。私はそれが ajax 呼び出しを行い、DOM に何かを入れることを知っています。また、私のタグが最初であることも知っています。
スクリプト タグをすぐに起動し、2 番目のタグを一時停止/停止したい。次に、ajax が返す内容に応じて、2 番目のスクリプト タグを実行することを選択できます。どうすればいいですか?
私の問題を示すフィドルを書きました。settimeout
私は ajax 呼び出しとMath.random
私の決定を'sに置き換えました。settimeout
最初のもの (私のもの) の持続時間は非常に長く、3 秒であり、2 番目のもの (私が制御していないもの) の持続時間は非常に短く、0.5 秒であることに注意してください。2 番目のメッセージは 0.5 秒で到着し、最初のメッセージは 50% の確率で 3 秒で到着します。
最初のスクリプトを実行し、3 秒待って決定し、最初のメッセージをすぐに出力するか、2 番目のスクリプトを呼び出して 2 番目のメッセージを出力するためにさらに 0.5 秒待つ必要があります。両方のメッセージが同時に表示されることはありません。また、3.5 秒前に 2 番目のメッセージが表示されることもありません。
繰り返しますが、スクリプト 2 の内容に関する知識はありません。この場合、 id= を簡単に隠すことができますがext_div
、その id が何であるかはわかりません。それは私が望む答えではありません。最初のスクリプトでイベントを取得して、それに対して何かをするか、コメントstopPropagation
でそのようなことをすることを考えていました。TODO1
しかし、それはうまくいきません。もしそうなら、resumePropgation
存在するとは思わない関数が必要になります。