我非常喜欢在chrome调试器中编辑javascript的能力,但是我发现让调试器从服务器重新获取JavaScript可能会有问题。
有时我必须尽可能地关闭调试器并重新加载框架工作正常 - 但其他时候(dI无法在这种情况发生的情况下确定)我必须清除我的临时互联网缓存。有时我发誓我必须完全关闭chrome,然后清除缓存,然后在调试器最终向我显示最新脚本之前加载页面。
(注意:Web服务器没有缓存脚本)
我想知道是否有人知道一种快速简便的方法告诉调试器使其所有javascript无效并在页面重新加载时重新获取它?
答案 0 :(得分:311)
答案 1 :(得分:125)
上面显示的上下文菜单可通过右键单击/按下&按住“重新加载”按钮,同时打开 Chrome开发工具。
空缓存和硬重载最适合我。
另一个优势:此选项可保持所有其他已打开的标签页和网站数据不变。它只会重新加载并清除当前页面。
答案 2 :(得分:33)
您可以通过执行以下操作来清除特定文件:
如果不是:
如果您拥有框架中的资源且CTRL+F5
没有强制刷新它们,这非常方便。
答案 3 :(得分:11)
Shift + F5 快速清除缓存。
答案 4 :(得分:8)
对于Google Chrome,它不是 Ctrl + F5 。它是 Shift + F5 来清除当前缓存!它对我有用!
答案 5 :(得分:7)
这是DevTools的快捷方式:
答案 6 :(得分:3)
在Windows上, Ctrl + Shift + r 会强制重新加载chrome中的脚本。
答案 7 :(得分:2)
如果您在开发人员工具中对javascript进行本地更改,则需要确保在重新加载页面之前关闭这些更改。
在“源”选项卡中,打开脚本,右键单击脚本,然后从上下文菜单中单击“本地修改”选项。这会显示您已保存修改的脚本列表。如果您在该窗口中看到它,开发人员工具将始终保留您的本地副本,而不是从服务器刷新它。单击“恢复”按钮,然后再次刷新,您应该获得新的副本。
答案 8 :(得分:1)
似乎Chrome调试器将源文件加载到内存中,尽管浏览器缓存更新,但它不会让它们继续运行,即除了不同步的浏览器缓存外,它还有自己的缓存。至少,使用源映射文件(我正在调试typescript源)时就是这种情况。在成功刷新浏览器缓存并通过直接浏览源文件验证后,您下载更新的文件,但只要在调试器中重新打开该文件,它将继续返回旧文件,无论普通浏览器缓存中的版本如何。非常讨厌。
我认为这是Chrome中的一个错误。我使用的是版本46.0.2490.71 m。
唯一有用的是重启chrome(关闭所有Chrome浏览器)。
答案 9 :(得分:0)
如果您正在加载的文件被缓存,并且您所做的更改未反映在代码中,则有两种方法可以处理此问题
按照每个人的说法清除缓存
如果您想要缓存并且只需要重新加载文件,您可以转到开发工具的网络选项卡并清除已加载的内容。下次它不会从缓存中加载它。你会得到最新的变化。
答案 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个(快速)解决方法:
答案 12 :(得分:0)
停用断点会导致为我加载新脚本。
答案 13 :(得分:0)
在我看来,在私人浏览会话中工作最容易。' chrome,以确保您的javascript文件不会来自缓存。
答案 14 :(得分:-1)
您还可以使用此Chrome扩展程序在使用或不使用缓存之间快速切换:https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap