私の (かなり複雑な) JavaScript/jQuery アプリケーションを Google の Chrome ブラウザで実行すると$(document).ready
、一部の JavaScript ファイルがまだロードされていない間に起動するように見えます。
関連するコード (簡略化):
私のHTMLファイルで
<script>var httpRoot='../../../';var verifyLoad = {};</script>
<script src="../../../globalvars.js"></script>
<script src="../../../storagekeys.js"></script>
<script src="../../../geometry.js"></script>
<script src="../../../md5.js"></script>
<script src="../../../serialize.js"></script>
...
<script src="../../../main.js"></script>
main.js を除く各 .js ファイルの最後のステートメントとして:
verifyLoad.FOO = true; // where FOO is a property specific to the file
例えば
verifyLoad.jquerySupplements = true;
verifyLoad.serialize = true;
main.js で:
$(document).ready(function() {
function verifyLoadTest (scriptFileName, token) {
if (!verifyLoad.hasOwnProperty(token)) {
console.log(scriptFileName + ' not properly loaded');
};
};
verifyLoadTest('globalvars.js', 'globalvars');
verifyLoadTest('storagekeys.js', 'storagekeys');
verifyLoadTest('geometry.js', 'geometry');
verifyLoadTest('md5.js', 'geometry');
verifyLoadTest('serialize.js', 'serialize');
...
}
驚いたことに、これらのトリガーのいくつかが見られます。これは の私の理解と一致しません$(document).ready
。私は何が欠けていますか?