249

在桌面版 Chrome 中,我在开发工具中有选项可以在打开开发工具时完全禁用缓存,并且我可以选择在长按重新加载按钮时手动执行硬重新加载(打开开发工具)。

适用于 Android 的 Chrome 是否有任何此类技术?我没有找到任何设置。当我想强制浏览器下载一些 javascript 或 css 文件而不是在开发时使用缓存文件时,我该怎么办?

4

24 回答 24

184

window.location.reload(true)根据MDN(和这个类似的问题)使用它强制页面从服务器重新加载。

javascript:location.reload(true)您可以通过在地址栏中键入来在浏览器中执行此代码。

于 2013-09-03T11:57:18.430 回答
162

以隐身模式查看页面将禁用缓存。这是我可以强制刷新样式表而不通过设置手动清除缓存的唯一方法。

于 2015-07-14T23:53:55.880 回答
88

还有一个选项:

  1. 菜单
  2. 设置
  3. 隐私
  4. 清除浏览数据
  5. 检查“缓存”并按“清除”

然后重新加载页面。

于 2014-08-29T17:50:19.103 回答
51

您可以使用应用程序菜单(地址栏右侧)中的“请求桌面站点”选项,这将强制页面重新加载。

只需点击它,等待刷新,然后取消选择它。

于 2016-02-21T13:36:15.653 回答
32

提到这一点是因为您提到了“开发时”。

您可以通过 Chrome 桌面浏览器控制移动设备。

chrome://inspect/#devices在您的桌面上访问。以及Inspect连接到您桌面的设备。在请求许可时同意。

您现在应该会在移动设备上看到当前页面的完整 Devtool 窗口。

现在,使用桌面上的硬重载快捷方式(Cmd+Shift+R)在移动设备上进行硬重载!

于 2016-02-09T09:36:57.193 回答
26

如何在 Chrome Mobile for android 上重置给定 URL/网站的所有数据:

1 - 打开 Chrome 菜单,然后点击“i (info)”图标

一

2 - 点击“网站设置”

二

3 - 点击垃圾桶图标

三

就是这样,即使是该 URL 最受保护的服务人员现在也会死掉。

于 2019-04-12T12:15:11.510 回答
21

不要忘记确保“减少数据使用”设置已关闭,因为即使您的本地缓存已刷新,它似乎也会下载缓存数据(从 Google 服务器?)。

于 2015-03-04T09:11:47.200 回答
12

我知道这是一个老问题,但我发现接受的答案对我不起作用。

另一种解决方案是在 url 后面附加一个新的 url 参数,例如website.com?a=1,website.com?a=2等。

如果你已经有参数,当然,你会使用一个&符号,即website.com?q=test&a=1

于 2014-03-18T00:32:07.257 回答
11

截至 2018 年,来自谷歌帮助中心(在 Chrome 63 上测试):

  1. 点击三点菜单
  2. 选择历史记录>清除浏览数据
  3. 如果需要,选择时间(在清单上方);
  4. 取消选中除缓存图像和文件之外的所有项目;
  5. 继续清除数据并确认。

正如另一个答案中提到的,隐身标签对开发也很有用。

于 2018-01-27T08:42:03.687 回答
10

我发现不需要将手机插入PC的唯一可靠方法如下:

1.强制停止Chrome应用。

必须首先完成,并且在完成这些步骤之前您无法重新打开 Chrome。有几种方法可以强制停止。大多数家用启动器都会让您通过将手指按住 chrome 图标并选择“i”图标来访问“应用程序信息”。或者,您可以转到 Android 设置并简单地搜索“Chrome”。

进入“应用信息”后,选择“强制停止”,如下图所示:


2.清除Chrome的缓存

从同一屏幕中选择“存储”:


最后,选择“清除缓存”。

当您返回 Chrome 应用程序时,该页面应自行重新加载并提供非缓存版本。

此外,我发现了一个可以轻松测试您是否已清除缓存的网站:https
://refreshyourcache.com/en/cache-test/ 我与它没有任何关系。请注意,该站点上提到的清除缓存的方法实际上已经过时并且不再有效。

于 2019-08-07T23:02:35.973 回答
9

我找到了一个可行的解决方案,但它很难看。

  • 使用 USB 数据线将 Android 设备连接到您的 PC,然后在桌面上打开 Chrome 。
  • 右键单击页面上的任意位置并选择“检查”。
  • 点击三点菜单,在“更多工具”菜单下选择“远程设备”:

    在此处输入图像描述

  • 在打开的面板中,选择您的设备,然后选择手机上需要刷新的标签名称旁边的“检查”按钮:

    在此处输入图像描述

  • 在打开的窗口中,单击“网络”选项卡并选中“禁用缓存”复选框:

    在此处输入图像描述

  • 在手机上重新加载页面或使用 DevTools 窗口中的重新加载按钮。

注意:如果您的手机没有出现在设备列表中:

  • 确保 USB 连接使用文件传输模式,而不是简单地充电
  • 尝试重新启动 ADB 或运行adb devices以查看是否检测到设备
于 2018-12-27T07:37:16.810 回答
6

远程调试允许您使用桌面开发工具:

https://developers.google.com/chrome-developer-tools/docs/remote-debugging

于 2013-09-02T16:03:33.013 回答
6

最近版本的 Chrome 缓存非常积极。甚至像“ http://url?updated=datecode ”这样的缓存清除技术也停止了工作。您必须每次都清除缓存或启动隐身窗口(并确保数据保护程序已关闭)。

于 2017-05-23T17:07:46.717 回答
4

如果只是包含文件的问题,只需在路径后添加版本(?v=12345678

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />

再次加载页面的人将看到更改。

于 2019-10-17T19:44:56.333 回答
2

编辑:此方法已在 Google Chrome 中弃用,将不再有效。

原始答案:

我能够使用 chrome://net-internals 清除缓存(包括后续的 xhr)

镀铬网内件

然后点击右上角的小箭头

菜单

从该菜单中选择“清除缓存”。

于 2018-10-11T11:33:34.050 回答
2

诸如 Ctrl+Shift+R 之类的键盘快捷键也适用于 Android,您只需要一个能够发送这些键的键盘。我使用Hacker's Keyboard 发送 Ctrl+Shift+R,这在我的手机上进行了硬重新加载。

于 2020-07-24T14:06:01.520 回答
1

这是另一个在其他人失败时可能会起作用的简单解决方案:

今天,当缓存问题是缓存的 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 的刷新终于奏效了。

说明:最新的 CSS 文件版本现在终于在刷新有问题的 html 页面时应用到 Android 上,因为当 CSS 文件从任何地方都不存在的不同名称的临时 html 页面调用时,CSS 文件的缓存副本现在已更新在浏览器历史记录中,之后我可以再次删除。激进的缓存显然忽略了 CSS URL,而是使用 HTML URL,即使它是需要在缓存中更新的 CSS 文件。

于 2019-08-28T13:40:52.233 回答
1

在 chrome 中,只需勾选“桌面站点”,然后删除勾选!

于 2020-12-29T08:48:14.497 回答
1

向 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();
于 2021-02-13T08:53:12.770 回答
0

如果这是一个选项,您可以直接访问(即 JavaScript)资源,重新加载很多次,这也会触发该资源的硬重新加载。然后您可以再次重新加载实际页面。

于 2021-07-19T09:35:33.560 回答
0
  1. 启动 Chrome Android 应用程序

  2. 点击 垂直的 3 点图标菜单以获得更多选项。

  3. 从选项列表中选择 设置。

  4. 向下滚动并点击站点设置 选项卡。

  5. 在站点设置中打开 数据存储选项卡。

  6. 点击 要删除存储的站点 URL 。

  7. 点击清除和重置命令按钮。

  8. 刷新网站页面。

    Chrome Android 中的站点设置

于 2021-10-10T14:09:02.630 回答
0

我一直在为一个不会刷新的 CSS 文件而苦苦挣扎。但是您可以在地址栏中键入 CSS 文件本身的名称并刷新它。之后就好了。Android 8 上的 Chrome。显然,如果您涉及多个文件,那将是令人厌烦的。

于 2020-10-29T10:37:08.320 回答
0

有几种方法可以在移动设备上强制重新加载 chrome:

  1. 清除历史记录(见上图)
  2. 使用远程调试(见上图)
  3. 请求桌面站点
  4. 禁用“精简模式”
  5. 打开 .JS 或 .CSS 的 URL,然后进行正常的重新加载。
于 2021-11-01T19:37:31.197 回答
0

大多数答案对我不起作用。这是 2020 年 8 月在我的 Galaxy S8 上的一个超级简单的工作:

在您的 http:.... 地址之前添加“view-source:”,如果与 html 或索引不同,则通过那里导航到更改的文件。

您将看到未更改的文件。刷新。

完毕。

于 2020-08-23T21:24:14.893 回答