Chrome开发工具 - 修改javascript并重新加载

CDT*_*CDT 174 javascript google-chrome-devtools

是否可以修改页面的JavaScript然后重新加载页面而不重新加载修改后的JavaScript文件(从而失去修改)?

Ash*_*der 202

这是一个解决方法,但您可以通过在javascript文件或块想要操作的块的开头添加断点来实现此目的.

然后,当您重新加载时,调试器将在该断点上暂停,您可以对源进行任何更改,保存文件,然后通过修改后的代码运行调试器.

但是正如大家所说,下次重新加载更改将会消失 - 至少它让你运行一些稍微修改过的JS客户端.

  • 事实证明这是我正在寻找的答案.在javascript代码的第一行放置一个断点.然后,当中断发生时,将修改后的代码粘贴到那里.取消暂停,它的工作原理! (7认同)
  • 只要您想修改外部加载的脚本,这种方法就有效,Chrome、FireFox 调试工具都不允许修改内联 JavaScript,即使其执行被断点中断。 (2认同)

Nic*_*ico 110

好消息,该解决方案将于2018年3月发布,请看以下链接:https://developers.google.com/web/updates/2018/01/devtools

"本地覆盖允许您在DevTools中进行更改,并在页面加载中保留这些更改.以前,在重新加载页面时,您在DevTools中所做的任何更改都将丢失.本地覆盖适用于大多数文件类型

这个怎么运作:

  • 您指定DevTools应保存更改的目录.当您在DevTools中进行更改时,DevTools会将修改后的文件的副本保存到您的目录中.
  • 当您重新加载页面时,DevTools提供本地修改的文件,而不是网络资源.

要设置本地覆盖:

  1. 打开"源"面板.
  2. 打开"覆盖"选项卡.
  3. 单击"设置覆盖".
  4. 选择要将更改保存到的目录.
  5. 在视口顶部,单击"允许"以授予DevTools对目录的读写访问权限.
  6. 做出改变."

UPDATE(2018年3月19日):在这里的生活,详细解释:https://developers.google.com/web/updates/2018/01/devtools#overrides

  • 随着Chrome 65的发布,这应该是新接受的答案.(功能已在Chrome Canary中提供) (9认同)
  • 我有一个文件“a.js?ver=1.2”。它以“a.js”的形式保存在覆盖文件夹中,并且不作为覆盖加载。有参数的时候不行吗?有解决方法吗? (2认同)

lak*_*tak 60

资源覆盖扩展可以让你做到这些:

  • 为要替换的网址创建文件规则
  • 编辑扩展中的js/css/etc
  • 根据需要重新加载:)


小智 15

  1. 在开发工具首选项中,选中启用本地覆盖。
  2. 转到网络选项卡,找到要编辑的文件,右键单击它并选择保存以覆盖(在源/覆盖选项卡上,您需要添加本地文件夹)
  3. 该文件作为本地副本显示在“源”选项卡上的新选项卡中,因此您可以编辑此文件,并且在站点重新加载后,新的(和编辑的)覆盖文件将加载到站点上!

  • 谢谢哥们儿!它成功了,你节省了我很多时间和精力。 (2认同)
  • +1为我指明了正确的方向 https://developer.chrome.com/blog/new-in-devtools-65/#overrides (2认同)