在桌面版Chrome浏览器中,我在开发工具中有一些选项可以在打开开发工具时完全禁用缓存,也可以在长按重新加载按钮(打开开发工具时)时手动进行硬重加载。
适用于Android的Chrome浏览器有这种技术吗?我没有找到任何设置。在开发时要强制浏览器下载一些javascript或css文件而不使用缓存的文件,该怎么办?
在桌面版Chrome浏览器中,我在开发工具中有一些选项可以在打开开发工具时完全禁用缓存,也可以在长按重新加载按钮(打开开发工具时)时手动进行硬重加载。
适用于Android的Chrome浏览器有这种技术吗?我没有找到任何设置。在开发时要强制浏览器下载一些javascript或css文件而不使用缓存的文件,该怎么办?
Answers:
我使用的是window.location.reload(true)
根据MDN(和这类似的问题),它强制重新加载页面从服务器。
您可以在浏览器中输入javascript:location.reload(true)
地址栏来执行此代码。
javascript:
。
window.
情况。javascript:location.reload(true)
应该可以。
以隐身模式查看页面将禁用缓存。这是我可以强制刷新样式表而无需通过设置手动清除缓存的唯一方法。
也可以选择:
然后重新加载页面。
Clear Browsing Data
,您可以在其中clear cache
使用复选框进行检查。
您可以使用应用程序菜单(位于地址栏右侧)中的“ 请求桌面网站”选项,这将强制重新加载页面。
只需点击它,等待刷新,然后取消选择它。
localStorage
值)的额外好处。
提及这一点是因为您提到了“开发时”。
您可以通过Chrome桌面浏览器控制移动设备。
chrome://inspect/#devices
在您的桌面上访问。以及Inspect
连接到桌面的设备。征得同意后同意。
现在,您应该在移动设备上看到完整的Devtool窗口,用于当前页面。
现在,使用桌面上的硬重装快捷方式(Cmd + Shift + R)在移动设备上进行硬重装!
如何在适用于Android的Chrome移动设备上重置给定URL /网站的所有数据:
1-打开Chrome菜单,然后点击“ i(信息)”图标
2-点击“网站设置”
3-点击垃圾桶图标
就是这样,即使是对该URL 最受关注的服务工作者现在也将死亡。
我知道这是一个老问题,但我发现接受的答案对我不起作用。
一种替代的解决方案是URL以一个新的URL参数诸如附加website.com?a=1
,website.com?a=2
等
当然,如果已经有参数,则可以使用“&”号,即 website.com?q=test&a=1
?a
如果您只想重新加载一次,就足够了。
?a
除非您是站点主机,否则您无法真正编辑主HTML以添加-。
自2018年起,来自Google帮助中心(已在Chrome 63上测试):
如另一个答案中所述,隐身标签在开发中也很有用。
我找到了一个可行的解决方案,但是很难看。
单击三点菜单,然后在“更多工具”菜单下选择“远程设备”:
在打开的面板中,选择设备,然后选择电话上需要刷新的选项卡名称旁边的“检查”按钮:
在打开的窗口中,单击“网络”选项卡,然后选中“禁用缓存”复选框:
重新加载手机上的页面或使用DevTools窗口中的重新加载按钮。
注意:如果您的电话未出现在设备列表中:
- 确保USB连接正在使用文件传输模式并且不只是充电
- 尝试重新启动ADB或运行
adb devices
以查看是否检测到设备
Chrome的最新版本非常积极地缓存。甚至“ http:// url?updated = datecode ”之类的缓存清除技术也停止了工作。您每次必须清除缓存或启动隐身窗口(并确保关闭了数据存储)。
我发现不需要将电话插入PC的唯一可靠方法如下:
1.强制停止Chrome应用。
必须先完成此操作,在完成这些步骤之前,您无法重新打开Chrome。有几种方法可以强制停止。大多数家用启动器都可以通过在Chrome图标上按住手指并选择“ i”图标来访问“应用程序信息”。另外,您也可以转到Android设置并仅搜索“ Chrome”。
进入“应用信息”后,选择“强制停止”,如下所示:
2.清除Chrome的缓存
在同一屏幕上选择“存储”:
最后,选择“清除缓存”。
当您返回Chrome应用时,页面应会重新加载并提供非缓存版本。
此外,我发现了一个站点,可以轻松测试是否清除了缓存:https : //refreshyourcache.com/en/cache-test/
我与它没有任何关系。请注意,清除该站点上提到的缓存的方法实际上已过时,并且不再有效。
这是另一个可能在其他人失败时起作用的简单解决方案:
今天,当缓存问题是缓存的CSS文件时,一个相当简单的开发人员端解决方案对我有用。简而言之:创建一个临时html文件副本并浏览到该副本以更新CSS缓存。
这个技巧至少可以在Android的蓝球图标默认浏览器中刷新CSS文件(但很可能是它的双胞胎,也就是官方的Chrome浏览器,以及我们在“智能”手机上遇到的其他任何浏览器,它们都具有积极缓存的趋势) )。
细节:
最初,我尝试了此处共享的一些相当简单的解决方案,但没有成功(例如,清除特定站点的最新历史,但几个月又一个月)。但是,我的最新CSS不会在刷新后应用。而且即使我已经在html头部分的CSS文件调用中使用了version-number-trick,也曾经帮助我避免了这些讨厌的激进式缓存。(例如:link rel =“ stylesheet” href =“ style.css?v = 001”,每次更改CSS文件(例如001、002、003、004等)时,您都会在此伪版本号上进行升级。 (应该在网站的每个html文件中完成)
这次(2019年8月)的CSS文件版本号更新已不再足够,这里提到的一些更简单的措施也对我不起作用,或者我什至找不到(在借来的android手机上)访问其中的某些内容。
最后,我尝试了一些相对简单的方法,最终解决了该问题:
我制作了该网站的index.html文件的副本,并为其指定了其他名称(indexcopy.html),然后将其上传,在Android设备上浏览至该页面,然后浏览回到原始页面并对其进行刷新(使用左侧的“刷新”按钮地址栏),然后贴吧:这次刷新index.html终于成功了。
说明:最新的CSS文件版本现在终于在刷新有问题的html页面时在Android上应用了,因为从其他地方不存在的具有不同名称的临时html页面调用CSS文件时,现在已更新了CSS文件的缓存副本。在浏览器历史记录中,之后我可以再次删除。主动缓存显然会忽略CSS URL,而改为使用HTML URL,即使需要在缓存中更新的是CSS文件。