如何在运行时修改javascript代码?

时间:2011-09-08 04:55:58

标签: javascript debugging runtime methodology liveedit

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

4 个答案:

答案 0 :(得分:11)

Chrome,Safari和其他一些基于WebKit的浏览器在Web Inspector中包含一项称为“实时编辑”的功能。如果你进入Scripts面板并在断点处停止(或者即使没有在断点处停止 - 我也不确定),你可以双击一行并开始编辑该行。您所做的更改将对脚本生效。

答案 1 :(得分:9)

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

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

如果你看保罗爱尔兰的这个演讲,他会展示你如何动态编辑剧本

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

也很好:

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

答案 2 :(得分:2)

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

答案 3 :(得分:0)

因为JavaScript可以修改DOM,所以你必须更改JavaScript文件,保存并重新加载。对我来说,我喜欢IE浏览器,所以我在浏览器中运行网页NOT IN DEBUG模式。然后你可以更改脚本文件,保存它们。切换回浏览器并重新加载(F5)以查看更改。据说IE 11具有这种能力(可能就像Chrome一样,基本上就是我正在做的事情,从我可以告诉的更改保存重新加载)但我无法找到它,更不用说打开一个js文件了。超级差的UI。我猜测浏览器打开文件图标是enter image description here但它总是灰显。