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

Chrome开发工具-修改javascript并重新加载,javascript,google-chrome-devtools,Javascript,Google Chrome Devtools,是否可以修改页面的JavaScript,然后在不重新加载修改后的JavaScript文件的情况下重新加载页面(从而丢失修改)?是的,只需打开开发工具中的“源”选项卡并导航到要更改的脚本。 直接在“开发工具”窗口中进行调整,然后按ctrl+s键保存脚本-知道在刷新整个页面之前将使用新的js。这是一个小问题,但实现这一点的一种方法是在要操作的javascript文件或块的开头添加断点 然后重新加载时,调试器将在该断点上暂停,您可以对源代码进行任何更改,保存文件,然后通过修改后的代码运行调试器 但正如

是否可以修改页面的JavaScript,然后在不重新加载修改后的JavaScript文件的情况下重新加载页面(从而丢失修改)?

是的,只需打开开发工具中的“源”选项卡并导航到要更改的脚本。
直接在“开发工具”窗口中进行调整,然后按ctrl+s键保存脚本-知道在刷新整个页面之前将使用新的js。

这是一个小问题,但实现这一点的一种方法是在要操作的javascript文件或块的开头添加断点

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

但正如大家所说,下一次重新加载更改将不复存在-至少让您运行一些稍加修改的JS客户端。

扩展允许您准确地执行以下操作:

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

我知道这不是一个精确的问题(Chrome开发者工具),但我成功地使用了这个解决方法:

(相当肯定一些web开发人员已经知道这个工具)

  • 在本地保存文件
  • 根据需要编辑
  • 利润

    完整文档:


    PS.我宁愿在Chrome中实现它,作为重新加载后保留的标志
    ,现在不能这样做,论坛和讨论组在公司网络上被阻止:)

    好消息,修复将于2018年3月发布,请参阅此链接:

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

    工作原理:

    • 指定DevTools应保存更改的目录 如果在DevTools中进行更改,DevTools将保存修改文件的副本 到您的目录
    • 重新加载页面时,DevTools将为 本地、修改的文件,而不是网络资源
    要设置本地覆盖,请执行以下操作:

  • 打开“源”面板
  • 打开覆盖选项卡
  • 单击设置覆盖
  • 选择要将更改保存到的目录
  • 在视口顶部,单击“允许”,以授予DevTools对目录的读写访问权限
  • 做出你的改变。”

  • 更新(2018年3月19日):现场直播,详细说明如下:

    chrome的哪个版本?是的,您可以“编辑”脚本的内容(但不是页面上的脚本本身),但更改不会产生任何影响,ctrl-s/save as只允许您在本地保存脚本(在主窗口中按ctrl键)。我使用版本34-编辑脚本时,例如,将console.log添加到单击事件(已绑定)并保存,控制台输出以下消息:“重新编译和更新成功。”-之后。当我触发点击事件时,我会在控制台中获得日志输出。当你重新加载页面时,它似乎没有使用本地修改的文件。你让我回答“是”。。。但后来你在“直到你刷新整个页面”上把我弄丢了…原来这就是我想要的答案。在javascript代码的第一行上放置一个断点。然后,当中断发生时,将修改后的代码粘贴到其中。取消暂停,它就工作了!如何在其中编辑或粘贴代码?我在Chrome控制台中绝对看不到这种功能。我可以从Elements部分编辑JS/HTML,但不会自动重新加载。但在设置断点的地方,这似乎是只读的。幸运的是,这仍然不是一个很好的解决方案。您添加的任何代码在控制台中都不可用。例如,在脚本中添加
    var foo='bar'
    不会将
    foo
    暴露到控制台。外部脚本怎么了?断点似乎从它们身上消失了。只要你想修改外部加载的脚本,这就行了。Chrome和FireFox调试工具都不允许修改内联javascript,即使它的执行被断点打断。这是我的窍门吗?谢谢。在那个扩展之前,我曾经在Windows上使用Fiddler。现在我可以在任何平台上调试远程文件。我不懂这个软件,有人能解释一下我必须如何设置它吗?随着Chrome 65的发布,这应该是新的公认答案。(功能已经在Chrome Canary中可用)我有一个文件“a.js?ver=1.2”。它作为“a.js”保存在override文件夹中,而不是作为override加载。当有参数时,它不工作吗?有解决办法吗?按预期工作,但需要注意一件事。您需要清除覆盖配置或删除本地修改的文件(保存在配置覆盖时指定的文件夹中),然后才能加载原始js。谢谢,我最初没有找到覆盖选项卡,因为我的导航器面板(左侧面板)已折叠。