使用jQuery动态加载脚本时,firebug中没有换行符

时间:2012-04-20 10:17:47

标签: javascript jquery

当我使用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”标签中缺少换行符。

2 个答案:

答案 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语法高亮显示。

希望这些工具可以缓解您的问题。