当我使用 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 脚本加载。
在 firebug 中,我有控制台、html、css、脚本、dom 和网络选项卡。
如果我在 jquery 脚本加载后编写脚本并查看脚本,则代码中没有换行符。
但是当我进入“选项卡”控制台时,我有一个获取请求的条目。当我点击
“answer”在此 get 请求中,脚本包含换行符。但这对我没有帮助,因为在“script”标记中缺少换行符。
最佳答案
dataType: script
告诉 jQuery.ajax()
将响应解释为 JavaScript 并对其进行评估。
"script": Evaluates the response as JavaScript and returns it as plain text.
评估的代码基本上没有文件、行号,可能也没有空格。如果您尝试在 FireBug 中调试它,它可能会告诉您这是“eval()ed”代码。
JavaScript 加载器(例如 LABjs)通过注入(inject) <script src>
来工作。在您的文档中添加标签; FireBug更容易调试,因为JavaScript文件名、文件内容和行号都可用。
关于javascript - 使用 jQuery 动态加载脚本时,firebug 中没有换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244334/