目前是否可以在浏览器窗口中以编程方式调试Javascript?我希望能够从浏览器中的窗口面板中断点/检查Javascript。
编辑:
我应该更具体一点:我正在寻找在页面上下文中使用的api,即浏览器中的JS代码可以添加它自己的断点。
答案 0 :(得分:9)
它已经内置在Chrome和Safari中,并且在某种程度上已经在Firefox中内置。这有多个插件。查看适用于Firefox的 Firebug ,以及适用于IE的 F12开发人员工具。
答案 1 :(得分:2)
答案 2 :(得分:2)
利用浏览器的开发者工具: 使用特定于浏览器的开发人员工具,这些工具允许您识别欠幅错误,设置断点和运行性能诊断。为了使调试更容易,请不要在开发部署期间缩小JavaScript。
在IE中:IE开发人员工具
或者安装Google Chrome Frame,允许IE使用Google Chrome的V8引擎处理JavaScript,并允许用户使用Chrome开发者工具进行调试
在FF:Firebug扩展
在Chrome中:Chrome开发者工具
使用静态代码检查器(如JSLint)来验证JavaScript代码是否符合普遍接受的编码规则。
使用JsFiddle轻松测试和改进JavaScript / jQuery函数(http://jsfiddle.net/) 这有一个用于解析JavaScript的JSLint选项
答案 3 :(得分:1)
答案 4 :(得分:0)
答案 5 :(得分:0)
F12几乎适用于所有现代浏览器。
答案 6 :(得分:0)
是的,有可能做到这一点。
例如,对于Chrome,您可以使用 chrome.debugger扩展,用于将您自己的调试器实现附加到网站,该网站在另一个选项卡/窗口中运行。连接后,您可以通过基于JSON的remote debugging protocol来控制调试器。我要说的最大的问题是,你必须通过HTML元素管理所有的通信。这种情况是因为扩展只能与内容脚本通信,而内容脚本只能访问DOM指定的属性。
John Bartons chrome扩展程序crx2app尝试简化对扩展API的访问。我不知道它实际支持了多少,但它也可能有助于开发一个从浏览器本身运行的调试器。
据我所知,Firefox还可以访问其内部JavaScript-Engine Spidermonkey,并通过扩展名访问debugging mechanism。但实际上这可能与FireBug插件冲突,因为您通常只能将一个侦听器附加到调试器。但随着最近发布的提供远程访问的新版Firefox built-in JavaScript-Debugger,这可能不再是一个问题。