ページに同じスクリプトを何度もロードします。async/load 関数が原因で、Web サイトでどちらが最初に読み込まれるか、どちらが後に読み込まれるかを判断するのに問題があります。
そのため、スクリプトがロードされたときにそれらの順序をカウントするグローバル変数を配置したいと思います。
したがって、myScript.js は次のように始まります。
(function () {
var privateNumberScriptLoaded;
if (numberScriptLoaded === undefined) {
numberScriptLoaded = 0;
}
else {
numberScriptLoaded = numberScriptLoaded + 1;
}
privateNumberScriptLoaded = numberScriptLoaded;
console.log(privateNumberScriptLoaded);
})();
しかし、私がそれをロードすると:
<script src="http://www.mywebsite.com/widget/myScript.js?type=normal" type="text/javascript"></script>
<script src="http://www.mywebsite.com/widget/myScript.js?type=rotation" type="text/javascript"></script>
私は(2回)を取得しnumberScriptLoaded is not defined
ます。
どうすればこの問題を解決できますか? 実際、存在しない場合は、Web サイトにグローバル変数を「作成」します。それをインクリメントして各スクリプトの「プライベート」変数に保存するよりも、各スクリプトの実行順序を保存できます。