PHPページの本文に次のものがあります。
<?php if($foo) : ?>
<script>
js_func();
</script>
<?php else: ?>
//Do Something else
<?php endif; ?>
PHP 条件に基づいて、js_func() を実行するか実行したくないかのどちらかです。
ただし、すべてのスクリプト (js_func() を定義するスクリプトを含む) をページの下部にロードすると、エラーが発生します。
考えられる解決策の 1 つは、js_func() を呼び出す前に外部スクリプトをロードすることですが、パフォーマンス上の理由からそうすべきではないことは理解しています。
$(document).ready(function() {}); を使用できます。ただし、jQueryもフッターにロードされるため、これはエラーを移動するだけです。
私が考えることができる他の唯一のオプションは、window.onload を使用するか、js 関数をインラインで呼び出さないことです。他の人はこの問題をどのように解決しますか?
どうもありがとう。
編集:
@ナイル-あなたが何を意味するのかわかりません。実行したいコードをコメントアウトするのはなぜですか? @ haynar1658 - else シナリオで JS を実行したくありません。@Matthew Blancarte - 了解しました。それは私の質問につながります.その関数がインスタンス化される前に、必要なjsが確実にロードされるようにする最良の方法は何ですか? その前にスクリプトを含めますか? window.onload を使用しますか? 等