在桌面版 Chrome 中,我在开发工具中有选项可以在打开开发工具时完全禁用缓存,并且我可以选择在长按重新加载按钮时手动执行硬重新加载(打开开发工具)。
适用于 Android 的 Chrome 是否有任何此类技术?我没有找到任何设置。当我想强制浏览器下载一些 javascript 或 css 文件而不是在开发时使用缓存文件时,我该怎么办?
以隐身模式查看页面将禁用缓存。这是我可以强制刷新样式表而不通过设置手动清除缓存的唯一方法。
还有一个选项:
菜单设置隐私清除浏览数据检查“缓存”并按“清除”
然后重新加载页面。
Clear Browsing Data
,您可以在其中使用复选框选中 clear cache
。
您可以使用应用程序菜单(地址栏右侧)中的“请求桌面站点”选项,这将强制页面重新加载。
只需点击它,等待刷新,然后取消选择它。
localStorage
值)。
提到这一点是因为您提到了“开发时”。
您可以通过 Chrome 桌面浏览器控制移动设备。
在您的桌面上访问 chrome://inspect/#devices
。 Inspect
连接到您桌面的设备。在请求许可时同意。
您现在应该会在移动设备上看到当前页面的完整 Devtool 窗口。
现在,使用桌面上的硬重载快捷方式(Cmd+Shift+R)在移动设备上进行硬重载!
如何在 Chrome Mobile for android 上重置给定 URL/网站的所有数据:
1 - 打开 Chrome 菜单,然后点击“i (info)”图标
https://i.stack.imgur.com/CMrDT.jpg
- 点击“网站设置”
https://i.stack.imgur.com/7SCtK.jpg
3 - 点击垃圾桶图标
https://i.stack.imgur.com/g7H9j.jpg
就是这样,即使是该 URL 最深入的 service worker 也会死掉。
不要忘记确保“减少数据使用”设置已关闭,因为即使您的本地缓存已刷新,它似乎也会下载缓存数据(从 Google 服务器?)。
我知道这是一个老问题,但我发现接受的答案对我不起作用。
另一种解决方案是在 url 中附加一个新的 url 参数,例如 website.com?a=1
、website.com?a=2
等。
如果您已经有参数,当然,您可以使用 & 符号,即 website.com?q=test&a=1
?a
就足够了。
?a
- 当然,除非您是网站主机。
截至 2018 年,来自 google help center(在 Chrome 63 上测试):
点击三点菜单;选择历史记录>清除浏览数据;如果需要,选择时间段(在清单上方);取消选中除缓存图像和文件之外的所有项目;继续清除数据并确认。
正如另一个答案中提到的,隐身标签对开发也很有用。
我发现不需要将手机插入PC的唯一可靠方法如下:
1.强制停止Chrome应用。
这必须首先完成,并且在完成这些步骤之前您无法重新打开 Chrome。有几种方法可以强制停止。大多数家用启动器都会让您通过将手指按住 chrome 图标并选择“i”图标来访问“应用程序信息”。或者,您可以转到 Android 设置并简单地搜索“Chrome”。
进入“应用信息”后,选择“强制停止”,如下图所示:
https://i.stack.imgur.com/hkRMK.png
2.清除Chrome的缓存
从同一屏幕中选择“存储”:
https://i.stack.imgur.com/e5EtE.png
最后,选择“清除缓存”。
https://i.stack.imgur.com/4izVU.png
当您返回 Chrome 应用程序时,该页面应自行重新加载并提供非缓存版本。
此外,我还发现了一个可以轻松测试您是否已清除缓存的网站:https://refreshyourcache.com/en/cache-test/
我与它没有任何关系。请注意,该站点上提到的清除缓存的方法实际上已经过时并且不再有效。
我找到了一个可行的解决方案,但它很难看。
使用 USB 数据线将 Android 设备连接到您的 PC,然后在桌面上打开 Chrome。
右键单击页面上的任意位置并选择“检查”。
点击三点菜单,在“更多工具”菜单下选择“远程设备”:
在打开的面板中,选择您的设备,然后选择手机上需要刷新的标签名称旁边的“检查”按钮:
在打开的窗口中,单击“网络”选项卡并选中“禁用缓存”复选框:
在手机上重新加载页面或使用 DevTools 窗口中的重新加载按钮。
注意:如果您的手机没有出现在设备列表中:确保 USB 连接使用文件传输模式并且不是简单充电尝试重新启动 ADB 或运行 adb devices 以查看是否检测到设备
最近版本的 Chrome 缓存非常积极。甚至像“http://url?updated=datecode”这样的缓存清除技术也停止了工作。您必须每次都清除缓存或启动隐身窗口(并确保数据保护程序已关闭)。
远程调试允许您使用桌面开发工具:
https://developers.google.com/chrome-developer-tools/docs/remote-debugging
如果只是包含文件的问题,只需在路径后添加版本(?v=12345678
)
<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />
再次加载页面的人将看到更改。
诸如 Ctrl+Shift+R 之类的键盘快捷键也适用于 Android,您只需要一个能够发送这些键的键盘。我使用 Hacker's Keyboard 发送 Ctrl+Shift+R,这在我的手机上进行了硬重新加载。
大多数答案对我不起作用。这是 2020 年 8 月在我的 Galaxy S8 上的一个超级简单的工作:
在您的 http:.... 地址之前添加“view-source:”,如果与 html 或索引不同,则通过那里导航到更改的文件。
您将看到未更改的文件。刷新。
完毕。
编辑:此方法已在 Google Chrome 中弃用,将不再有效。
原始答案:
我能够使用 chrome://net-internals 清除缓存(包括后续的 xhr)
https://i.stack.imgur.com/3rjvzm.png
然后点击右上角的小箭头
https://i.stack.imgur.com/Q8A5Km.png
从该菜单中选择“清除缓存”。
这是另一个在其他人失败时可能会起作用的简单解决方案:
今天,当缓存问题是缓存的 CSS 文件时,一个相当简单的开发人员解决方案对我有用。简而言之:创建一个临时 html 文件副本并浏览到它以更新 CSS 缓存。
这个技巧可以刷新 CSS 文件,至少在 Android 的蓝色地球图标默认浏览器中(但很可能是它的孪生兄弟,官方 Chrome 浏览器,以及我们在“智能”手机上遇到的具有积极缓存趋势的任何其他浏览器)。
细节:
起初我尝试了一些在这里分享的相当简单的解决方案,但没有成功(例如清除特定站点的最近历史,但不是几个月和几个月)。然而,我最新的 CSS 不会在刷新后应用。即使我已经在 html 的 head 部分的 CSS 文件调用中使用了版本号技巧,它帮助我避免了过去这些讨厌的激进缓存。 (例如: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 的刷新终于奏效了。
说明:在刷新相关 html 页面时,最新的 CSS 文件版本现在终于在 Android 上应用了,因为当 CSS 文件从任何地方都不存在的不同名称的临时 html 页面调用时,CSS 文件的缓存副本现在已更新在浏览器历史记录中,之后我可以再次删除。激进的缓存显然忽略了 CSS URL,而是使用 HTML URL,即使它是需要在缓存中更新的 CSS 文件。
向 url 傻瓜浏览器添加参数以加载新页面。为此我写了一个函数:
function forceReload(){
function setUrlParams(url, key, value) {
url = url.split('?');
usp = new URLSearchParams(url[1]);
usp.set(key, value);
url[1] = usp.toString();
return url.join('?');
}
window.location.href =setUrlParams(window.location.href,'_t',Date.now());
}
你只需要调用它:
forceReload();
我一直在为一个不会刷新的 CSS 文件而苦苦挣扎。但是您可以在地址栏中键入 CSS 文件本身的名称并刷新它。之后就好了。 Android 8 上的 Chrome。显然,如果您涉及多个文件,那将是令人厌烦的。
在 chrome 中,只需勾选“桌面站点”,然后删除勾选!
如果这是一个选项,您可以直接访问(即 JavaScript)资源,重新加载很多次,这也会触发该资源的硬重新加载。然后您可以再次重新加载实际页面。
启动 Chrome Android 应用 点击菜单以获取更多选项。从选项列表中选择设置。向下滚动并点击站点设置选项卡。在站点设置中打开数据存储选项卡。点击要删除存储的站点 URL。点击清除和重置命令按钮。刷新网站页面。
有几种方法可以在移动设备上强制重新加载 chrome:
清除历史记录(见上图)使用远程调试(见上图)请求桌面站点禁用“Lite 模式”打开 .JS 或 .CSS 的 URL,然后进行正常重新加载。
不定期副业成功案例分享
javascript:
。window.
部分。javascript:location.reload(true)
应该可以解决问题。