私はJavaScriptを一度しか実行しません。しかし、 JavaScriptファイルが何回実行されるかを制御することはできません。基本的に私は小さなJSスニペットをCMSに書き、CMSは実際にそれを5〜10回呼びます。このようなソリューションので:JavaScriptを一度実行する
function never_called_again(args) {
// do some stuff
never_called_again = function (new_args) {
// do nothing
}
}
never_called_again();
することは、すぐに私のスニペットは、関数が再宣言されている上から再び実行して、「いくつかのものを行う」されるとして再評価されるために機能していないようです。おそらく私はそれを正しくやっていないだけで、私はJSにはあまりいいことではない。グローバル変数にtry-catchのようなものを使用することを検討しています。
if (code_happened == undefined) {
\\ run code
code_happened = true;
}
EDIT:一貫性のある状態があります。変数を設定すると、スニペットが再び実行されたときに表示されます。しかし、私はそれにアクセスする前にそれを宣言しなければならない、私は 'この変数はまだ存在する'と言う方法を知らない。
"私は 'この変数がまだ存在しない?' と言うのか分からない" - 通常、これは 'var foo = window.foo ||で行われます。 {} ' – zzzzBov