我如何在Chrome调试器中“动态”编辑JavaScript代码?它不适合我,所以我没有权限访问源文件。我想编辑代码,看看它们对页面有什么影响,在这种情况下,阻止动画排队一堆次。


当前回答

你可以在Chrome调试器中动态编辑javascrpit文件,在Sources选项卡下,但是如果你刷新页面,你所做的更改将会丢失,要在做更改之前暂停页面加载,你需要设置一个断点,然后重新加载页面并编辑您的更改,最后取消暂停调试器以查看更改生效。

其他回答

由于这是一个非常流行的关于JS实时编辑的问题,我想指出另一个有用的选项。正如svjacob在他的回答中所描述的:

我意识到我可以在我想动态编辑的代码行之前,在调试器中附加一个断点。由于断点在重新加载页面后仍然存在,所以我可以在断点暂停时编辑我想要的更改,然后继续让页面加载。

上面的解决方案对我来说并不适用于相当大的JS (webpack bundle - 3.21MB缩小版,美化版130k行代码)- chrome崩溃,并要求重新加载页面,恢复任何保存的更改。在这种情况下的方法是Fiddler,你可以设置自动响应选项来替换任何远程资源与任何本地文件从你的计算机-参见这个SO问题的详细信息。

在我的情况下,我还必须添加CORS头提琴成功模拟响应。

Chrome覆盖

在sources面板中打开JS文件。

右击脚本src URL >显示在源代码面板

确保选中“启用本地覆盖”。

右键单击JS文件>保存覆盖的任何地方

都准备好了!

只需编辑文件,并使用CMD/CTRL + s保存。现在无论何时刷新页面,它都会使用修改后的文件。(只要文件名不变)

如果您在文件图标中看到一个紫色的点,您就知道它正在工作。

如果它的javascript运行在一个按钮点击,然后在Sources>Sources(在chrome开发人员工具中)下进行更改,并按Ctrl +S保存,就足够了。我一直都这么做。

如果你刷新页面,你的javascript更改会消失,但chrome仍然会记住你的断点。

你可以在Chrome开发者工具的“脚本”选项卡下使用内置的JavaScript调试器(在后来的版本中是“源代码”选项卡),但是你应用到代码上的更改只在执行时经过它们时才会显示出来。这意味着对页面加载后未运行的代码的更改不会产生影响。不像对驻留在鼠标悬停处理程序中的代码的更改,您可以在运行中测试。

有一个视频从谷歌I/O 2010事件介绍Chrome开发工具的其他功能。

Chrome DevTools有一个片段面板,你可以创建和编辑JavaScript代码,就像你会在一个编辑器,并执行它。 打开DevTools,然后选择Sources面板,然后选择Snippets选项卡。

https://developers.google.com/web/tools/chrome-devtools/snippets