2011-09-08 20 views
18

有没有办法在调试时修改JavaScript代码? Visual Studio具有“编辑并继续”的功能,可以用Java和其他语言完成类似的代码热插拔。这可以用JavaScript来完成,如果是这样,怎么做?如何在运行时修改javascript代码?

+1

您可以在Chrome调试器中查看http://stackoverflow.com/questions/5067532/editing-in-chrome-debugger –

+0

@Adam上的热门答案:将其作为答案! – icktoofay

+0

我做到了!它被标记为一个微不足道的,并转换为评论!不知道如何标记为一个愚蠢的问题:( –

回答

11

的Chrome,Safari和一些其他基于WebKit的浏览器在Web Inspector中包含一个名为Live Edit的功能。如果转到脚本面板并停在断点上(或者即使没有停在断点上 - 我不确定),您可以双击一行并开始编辑该行。您所做的更改将对脚本生效。

+3

你确定吗?实时编辑在谷歌浏览器中被破解了大约2年! – puchu

+3

@ puchu:你说得对,它似乎不再工作。当我四年前发布答案时,它就起作用了...... – icktoofay

2

如果您在调试时讨论,修改运行代码非常容易。在您的调试控制台中,您可以输入Javascript表达式,并且它将在窗口的上下文中运行,该窗口包含代码的所有对象和功能,因此您可以通过重新定义它们来交换它们。

9

使用Chrome开发人员工具,这非常简单。

只需弹出打开的检查器,单击scripts选项卡,从下拉菜单中选择您想要的选项,然后您可以自由编辑脚本并添加断点。如果刷新页面,您的断点将停留在那里。

如果你看这次谈话,但保罗爱尔兰人,他展示了如何在飞行

http://paulirish.com/2011/a-re-introduction-to-the-chrome-developer-tools/

也不错编辑脚本:

http://blip.tv/jsconf/jsconf2011-paul-irish-5382827

+2

Firefox浏览器有[Firebug](http://getfirebug.com/) – sanmai

+0

是的,萤火虫也很好:) – wesbos

+1

好的,我没有观看视频,但我知道如何使用控制台即时执行JavaScript并即时更改功能定义。但这不是我的愿望。我希望能够在调试器控制台内编辑脚本,就像我可能在我最喜欢的javascript编辑器中一样。那可能吗? – theninjagreg

0

因为JavaScript可以修改DOM,所以您必须更改JavaScript文件并保存并重新加载。对于我来说,我喜欢IE浏览器,所以我在浏览器的NOT IN DEBUG模式下运行网页。然后你可以改变脚本文件,保存它们。切换回浏览器并重新加载(F5)以查看您的更改。假设IE 11有这种能力(可能像Chrome本质上是我所做的,从我所知道的更改保存重新加载),但我无法找到它,更不用说打开一个js文件。超级糟糕的UI。我猜浏览器打开文件图标是enter image description here,但它总是灰显。