当我使用jquery
动态加载脚本时...
options = {
dataType: "script",
cache: true,
url: "...appContr.js"
}
return jQuery.ajax(options);
...
我用firebug调试脚本,这个脚本名为“1”,一切都在 一行(或几行)。我不能用它来进行调试。
我使用Firefox 10.0.2和Firebug 1.9.1。
当我使用LAB.js
时$LAB.script("...appContr.js").wait(function() {
...
});
或require.js
该文件有换行符,脚本名称为“appContr”。
如何更改jQuery命令以获得相同的结果?
提前多多感谢
编辑:
谢谢你,Headshota,你的答案,但这没有用 此外,getscript不会缓存内容,这对我来说非常重要。
编辑:
谢谢你,马林,你的回答:
当我使用lab.js或require.js加载脚本时,整个过程没有使用firebug增强功能,问题仅在于加载jquery脚本。
在萤火虫中我有标签控制台,html,css,脚本,dom和网络。 如果我去 - 在jquery脚本加载后 - 编写脚本并查看脚本,代码中没有换行符 但是当我进入“tab”控制台时,我有一个get请求条目。当我点击 在此get请求中“回答”,该脚本包含换行符。但这对我没有帮助,因为在“script”标签中缺少换行符。
答案 0 :(得分:2)
dataType: script
告诉jQuery.ajax()
将响应解释为JavaScript并对其进行评估。
“script”:将响应评估为JavaScript并将其作为plain返回 文本。
评估的代码基本上没有文件,行号,可能没有空格。如果您尝试在FireBug中调试它,它可能会告诉您它是“eval()ed”代码。
LABjs等JavaScript加载器通过在文档中注入<script src>
标记来工作; FireBug更容易调试,因为JavaScript文件名,文件内容和行号都可用。
答案 1 :(得分:1)
我不确定如何在firebug中获得脚本的名称,但是对于你的其他两难困境,你应该考虑一些Firebug扩展
JS Deminifier 1.0.7作者:Ben Murphy:这会将你的javascript扩展为非常易读的代码(但是如果javascript已经非常小的话会导致中断,但听起来不会发生这种情况会发生在你的情况下)。只需确保打开显示在firebug下面的插件栏,并将JSD设置为打开(在左下角)。
Firebug中Javascript调试的另一个不错的选择......
BinaryAge的FireRainbow 1.5:这提供了在firebug中查看的javascript语法高亮显示。
希望这些工具可以缓解您的问题。