【发布时间】:2012-06-22 07:57:16
【问题描述】:
当我使用缩小版 (ext-all.js) 时,一切都很好,但是当我用 ext-all-debug.js 替换它时(其他一切都完好无损),由于我知道的未定义值,firebug 会报告各种错误 em> 在我在 Ext 之后加载的 Ext 或其他 js 文件中定义。
经过反复试验,我将console.log()s 放在几个 js 文件的末尾,但没有出现。我认为使用ext-all-debug.js 会以某种方式导致<BODY></BODY> 中的js 代码在<HEAD> 中的脚本完全加载之前执行之前,这会导致“未定义”错误,因为@ 中的代码987654327@ 引用了应该预先加载的值。
对吗?
<HEAD>
<SCRIPT type="text/javascript" src="ext/ext-base.js"></SCRIPT>
<SCRIPT type="text/javascript" src="ext/ext-all-debug.js"></SCRIPT>
<SCRIPT type="text/javascript" src="my_lib.js"></SCRIPT> <!-- defines myValue -->
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
console.log(myValue) // undefined
</SCRIPT>
</BODY>
这里是my_lib.js
var myValue = 10;
console.log("my_lib.js loaded");
还有
my_lib.js 已加载
不显示在控制台中。
【问题讨论】:
-
ext-all.js&ext-all-debug.js是什么? -
您确定文件名正确吗?如果库无法加载,这将完美地解释您的错误消息。
-
@gdoron 它们是 ExtJS 核心文件
-
如果
my_lib.js的执行依赖于ext-all-debug.js并且后者没有正确加载,您的lib 将无法正确执行,而myValue未定义。所以,再一次,你确定文件名是正确的吗? -
打开 firebug 并转到 net 选项卡,查看实际脚本是否正在下载
标签: javascript execution head