我在让Firebug(和Chrome)列出我已定义和包含的javascript文件/模块时遇到问题。我最近从Dojo 1.5切换到Dojo 1.9.1 AMD,并且按照设计通过require协议包含了javascript模块。直到最近我改变了Dojo配置" async:true" to" async:false"为了支持仍然需要" dojo.require"的一些遗留代码。得到承认和支持。将Dojo配置更改为" async:false"允许" dojo.require"打电话给工作,但不知何故打破了Firebug和Chrome的能力,并且"看到"加载的javascript模块。我只是暂时将配置切换回" async:true"验证Firebug是否成功列出了javascript模块,因此它肯定是影响的原因。
JSP页面的功能似乎仍然按预期运行 - 因此根据需要包含javascript模块,但是当我尝试查看它们并从Firebug中设置断点时 - 它们未列出。如果我搜索出现在其中一个字符串中的特定字符串,那么Firebug将成功找到javascript代码但显示它位于"位于"在类似的标题下:
/dojo/1.9.1/dojo/dojo.js.uncompressed.js第328行&gt; <功能线1>评估(2)
而不是实际的文件/模块名称。我无法在此视图中设置断点,但是如果我添加一个&#34;调试器;&#34;然后,Firebug会在执行期间停在该位置 - 这不是一个理想的解决方法。
知道为什么要从&#34; async:true&#34;切换to&#34; async:false&#34;会在Firebug中引起这种行为吗?
感谢。任何帮助表示赞赏。
答案 0 :(得分:0)
您必须向您的dojoConfig添加:{&#39; dojo-firebug&#39;:true},如下所示:
<script type="text/javascript">
var dojoConfig = {
has: {
'dojo-firebug': true
}
};
</script>
您也可以像这样添加:
<script type="text/javascript"
src="your_dojo_src_path_here"
data-dojo-config="has:{'dojo-firebug':true}">
</script>