HTMLドキュメントの最後にjQueryが埋め込まれたcmsのプラグインを書いています。
テンプレートコードでいくつかの変数を次のように動的に定義します。
<script>
var name = '<?php echo $nameTakenFromTheDatabase; ?>';
</script>
このコードはプラグインの一部であり、すべてのページに埋め込まれているわけではありません。したがって、名前はすべてのページで定義されているわけではありません。
私はまた、このJavascriptコードを別のファイルに持っています(cmsによってページの最後に自動的に追加されます):
var MyNamespace = (function() {
MyClass = function(name) {
// Do something with name
}
return {
MyClass: MyClass
}
})();
jQuery が上部に埋め込まれている場合、テンプレート コードで次のようにします。
<script>
var name = '<?php echo $nameTakenFromTheDatabase; ?>';
$(document).ready(function() {
new MyNamespace.MyClass(name);
});
</script>
ただし、一番下に jQuery が含まれていると、それはできません ($ はまだ定義されていません)。jQuery-DomReady 呼び出しを別のコード ファイルに追加することもできません。これはすべてのページで実行されるためですが、名前var はすべてのページで初期化されず、コードが壊れます。
私に何ができる?古き良き document.ready は賢明なアプローチですか?