如何强制Chrome脚本调试程序重新加载JavaScript?

时间:2011-08-16 13:29:53

标签: google-chrome google-chrome-devtools

我非常喜欢在chrome调试器中编辑javascript的能力,但是我发现让调试器从服务器重新获取JavaScript可能会有问题。

有时我必须尽可能地关闭调试器并重新加载框架工作正常 - 但其他时候(dI无法在这种情况发生的情况下确定)我必须清除我的临时互联网缓存。有时我发誓我必须完全关闭chrome,然后清除缓存,然后在调试器最终向我显示最新脚本之前加载页面。

(注意:Web服务器没有缓存脚本)

我想知道是否有人知道一种快速简便的方法告诉调试器使其所有javascript无效并在页面重新加载时重新获取它?

15 个答案:

答案 0 :(得分:311)

在开发脚本时,请尝试停用Chrome缓存。

当您重新加载页面时,JavaScript现在应该刷新。


Chrome大约2011年

Open settings Disable the cache


Chrome大约2018年

Open settings Disable the cache

您也可以在网络标签上访问它:

Network tab

答案 1 :(得分:125)

enter image description here

上面显示的上下文菜单可通过右键单击/按下&按住“重新加载”按钮,同时打开 Chrome开发工具

空缓存和硬重载最适合我。

另一个优势:此选项可保持所有其他已打开的标签页和网站数据不变。它只会重新加载并清除当前页面。

答案 2 :(得分:33)

您可以通过执行以下操作来清除特定文件:

  1. 打开开发工具
  2. 点击“来源”标签
  3. 找到您的脚本/图像/文件
  4. 检查右侧面板以查看您的文件是否是最新的
  5. 如果不是:

    1. 右键单击左侧面板中的资源,然后选择“在新标签页中打开链接”
    2. 使用上述方法强制重新加载资源。 (参见@Bishoy Hanna的例子)
    3. 如果您拥有框架中的资源且CTRL+F5没有强制刷新它们,这非常方便。

答案 3 :(得分:11)

Shift + F5 快速清除缓存。

答案 4 :(得分:8)

对于Google Chrome,它不是 Ctrl + F5 。它是 Shift + F5 来清除当前缓存!它对我有用!

答案 5 :(得分:7)

这是DevTools的快捷方式:

  1. F12 打开Chrome DevTools
  2. F1 打开DevTools设置
  3. 检查禁用缓存(当DevTools打开时),如下所示:
  4. enter image description here

    注:根据Dimi的评论更新。他们倾向于移动它,所以如果您注意到它已被更改,请让我知道或更新帖子。

答案 6 :(得分:3)

在Windows上, Ctrl + Shift + r 会强制重新加载chrome中的脚本。

答案 7 :(得分:2)

如果您在开发人员工具中对javascript进行本地更改,则需要确保在重新加载页面之前关闭这些更改。

在“源”选项卡中,打开脚本,右键单击脚本,然后从上下文菜单中单击“本地修改”选项。这会显示您已保存修改的脚本列表。如果您在该窗口中看到它,开发人员工具将始终保留您的本地副本,而不是从服务器刷新它。单击“恢复”按钮,然后再次刷新,您应该获得新的副本。

答案 8 :(得分:1)

似乎Chrome调试器将源文件加载到内存中,尽管浏览器缓存更新,但它不会让它们继续运行,即除了不同步的浏览器缓存外,它还有自己的缓存。至少,使用源映射文件(我正在调试typescript源)时就是这种情况。在成功刷新浏览器缓存并通过直接浏览源文件验证后,您下载更新的文件,但只要在调试器中重新打开该文件,它将继续返回旧文件,无论普通浏览器缓存中的版本如何。非常讨厌。

我认为这是Chrome中的一个错误。我使用的是版本46.0.2490.71 m。

唯一有用的是重启chrome(关闭所有Chrome浏览器)。

答案 9 :(得分:0)

如果您正在加载的文件被缓存,并且您所做的更改未反映在代码中,则有两种方法可以处理此问题

  1. 按照每个人的说法清除缓存

  2. 如果您想要缓存并且只需要重新加载文件,您可以转到开发工具的网络选项卡并清除已加载的内容。下次它不会从缓存中加载它。你会得到最新的变化。

答案 10 :(得分:0)

如果您在Apache上运行本地服务器,则可以获得缓存问题。 当我在Vagrant下运行Apache服务器时(在virtualbox中),这发生在我身上。

只需将以下行添加到配置文件(/etc/httpd/conf/httpd.conf或等效文件):

#Disable image serving for network mounted drive
EnableSendfile off

请注意,值得搜索配置文件,看看EnableSendfile是否在其他地方设置为on

答案 11 :(得分:0)

还有2个(快速)解决方法:

  1. 使用隐身模式进行调试,关闭窗口并重新打开。
  2. 删除您的浏览记录

答案 12 :(得分:0)

停用断点会导致为我加载新脚本。

答案 13 :(得分:0)

在我看来,在私人浏览会话中工作最容易。' chrome,以确保您的javascript文件不会来自缓存。

答案 14 :(得分:-1)

您还可以使用此Chrome扩展程序在使用或不使用缓存之间快速切换:https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap