如何在没有Firebug的情况下在Firefox上调试JavaScript?我发现并非所有最初加载的JavaScript源文件都显示在调试工具的左侧面板上。我有机会把它们挖出来吗?
更多背景信息:我们必须在客户的机器上进行远程调试,除了我们的远程连接外,这台机器已经阻止了一切。此外,客户拒绝安装Firebug。
答案 0 :(得分:1)
Firefox有built-in devtools,当没有安装Firebug时可以通过 F12 打开, Ctrl + Shift + 我或通过Firefox菜单> 开发人员> 切换工具:
他们的Debugger panel可以通过 Ctrl + Shift + S 打开。它的工作方式与Firebug中的相似
请注意,为了能够debug dynamically evaluated scripts(例如,通过eval()
执行的脚本),脚本需要包含//# sourceURL
条评论。
注意:如果他们不包含该评论,则他们不会在“来源”侧面板中显示!
请参阅以下示例,了解此类//# sourceURL
评论(摘自链接的MDN网站):
var button = document.getElementById("clickme");
button.addEventListener("click", evalFoo, false);
var script = "function foo() {" +
" console.log('called foo');" +
"}" +
"foo();//# sourceURL=my-foo.js";
function evalFoo() {
eval(script);
}
Firefox DevTools有一个名为'black boxing'的功能来检测JS库并自动将它们排除在调试之外,因为人们通常只想调试他们的源而不是第三方源。这些脚本仍将列在 Sources 侧面板中,并且可以手动关闭黑名单。