如何在Chrome for Android中强行重新加载

Rie*_*ing 180 google-chrome google-chrome-devtools chrome-for-android

在Chrome for desktop中,我在开发工具中有选项可以在打开开发工具时完全禁用缓存.我可以选择在长按"重新加载"按钮时手动执行硬重新加载(打开开发工具).

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

Kon*_*nel 154

我使用的是window.location.reload(true)根据MDN(和类似的问题),它迫使从服务器到加载页面.

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

  • 我打开了一个隐身窗口 (24认同)
  • 它不适用于我的,Android 7.1.1上的v56.0.2924.87.为什么你只是点击刷新并让浏览器像以前一样重新下载?在尝试开发时如此烦恼. (15认同)
  • 只需将其键入地址栏,在代码前面加上"javascript:". (5认同)
  • 实际上,你应该能够避免"窗口"部分.`javascript:location.reload(true)`应该做的伎俩. (4认同)
  • 在我的手机上,`true` 标志不被尊重,因此这相当于点击重新加载图标。 (4认同)
  • 它不适用于 Android :-( 通过隐私设置> 清除缓存效果更好。 (2认同)
  • @DanDascalescu在v48中对我很好 (2认同)
  • 在chrome v55.0.2883.91/android5.1.1上对我不起作用 (2认同)
  • 由于每个人都一直说它不起作用:它在 Android 6 上的 Chrome 58 上对我来说很好用。 (2认同)

Mic*_*ael 109

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

  • Geez,即使这对我也不起作用.:/ (5认同)
  • 这比得到的答案要好,至少在Android 7.1.2和Chrome 61上有效.缓存在某种程度上非常具有攻击性.即使清空该域的缓存文件也不适用于我. (4认同)
  • @Kev对我来说都不是. (2认同)
  • 是的,这个在 Android 6.0.1 和 Chrome 59 上对我有用。 (2认同)
  • 它只会在隐身模式下第一次清除缓存。之后,出现相同的问题 (2认同)

che*_*711 63

也是一个选择:

  1. 菜单
  2. 设置
  3. 隐私
  4. 清除浏览数据
  5. 选中"缓存"并按"清除"

然后重新加载页面.

  • *更新:*即使杀死Chrome也不再有效.我不知道"缓存的图像和文件"选项到底是什么?它仍然保留在缓存的CSS文件中.这变得越来越荒谬了! (4认同)
  • 这将清除所有站点的缓存,而不仅仅是被检查的站点。 (3认同)
  • 现在它更改为“清除浏览数据”,您可以在其中使用复选框选中“清除缓存”。 (2认同)
  • 也许该网站缓存在 Google 数据挖掘服务器上...;) (2认同)

小智 40

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

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

  • 这曾经有一段时间了,但截至2017年12月的任何最近版本的Chrome都没有了. (6认同)
  • 对我来说,这也适用于Chrome :) (2认同)
  • 2019 年 4 月不可用。Chrome 73+ 不可用。 (2认同)

Aak*_*oel 26

提到这个,因为你提到"开发时".

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

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

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

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

  • 这条评论已过时,但让我走上正轨.您必须首先通过Chrome启用实际手机进行调试. (3认同)

hei*_*ert 20

不要忘记确保"减少数据使用"设置已关闭,因为它似乎下载了缓存数据(来自Google服务器?),即使刷新本地缓存也是如此.


小智 12

Ctrl+Shift+R 等键盘快捷键也适用于 Android,您只需要一个能够发送这些键的键盘即可。我使用黑客键盘 发送 Ctrl+Shift+R,这在我的手机上进行了硬重新加载。


小智 11

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

一种替代的解决方案是URL以一个新的URL参数诸如附加website.com?a=1,website.com?a=2

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

  • 这对于重新加载缓存的引用文件(如CSS或JS)来说不是很可行,因为你无法真正编辑主HTML以添加"?a" - 当然,除非你是网站主机. (10认同)

yPh*_*hil 10

如何在适用于Android的Chrome移动设备上重置给定URL /网站的所有数据:

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

一

2-点击“网站设置”

二

3-点击垃圾桶图标

三

就是这样,即使是对该URL 最受关注的服务工作者现在也将死亡。

  • 在Samsung S9 +的Chrome 73.0.3683.90上,此功能不起作用。我已经尝试了15次以上,以及javascript:location.reload(true)也无法正常工作。根据黑暗之王古格·乌尔(Guug-Ul)的说法,似乎Android用户也不能同时是开发人员。 (3认同)
  • 您还可以通过单击 URL 左侧的锁定图标(或不安全连接时显示的任何图标)来获取此菜单。 (2认同)

Nat*_*man 9

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

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

    在此处输入图片说明

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

    在此处输入图片说明

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

    在此处输入图片说明

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

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

  • 确保 USB 连接使用文件传输模式,而不是简单地充电
  • 尝试重新启动 ADB 或运行adb devices以查看是否正在检测到设备


Bor*_*ort 8

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

1. 强制停止 Chrome 应用程序。

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

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


2.清除Chrome的缓存

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


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

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

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

  • 完美,这是唯一对我有用且无需 USB 调试的解决方案。 (3认同)

Ski*_*rou 7

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

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

正如另一个答案中所提到的,隐身标签也非常适合开发.

  • 这不是你的错,但这是一个非常糟糕的解决方案,因为它也会清除所有其他网站的浏览数据,如果你将浏览器用于开发工作以外的任何其他用途,这会很痛苦! (3认同)

Nov*_*sol 7

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

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />
Run Code Online (Sandbox Code Playgroud)

无论谁再次加载该页面都会看到变化。

  • 被低估的好答案! (5认同)

Swo*_*kie 6

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

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

  • 谢谢,虽然不刷新所有站点的整个缓存的选项还是不错的 (5认同)
  • 您可以这样清除缓存:https://support.google.com/chrome/answer/2392709 (2认同)

Gre*_*rle 6

最近版本的Chrome缓存非常激进.即使是缓存破坏技术,例如" http:// url?updated = datecode "也停止了工作.您必须每次清除缓存或启动隐身窗口(并确保数据保护程序已关闭).

  • 这只是我在开发自己的 Javascript 应用程序时观察到的行为。我必须在来自我的开发 Web 服务器的 HTTP 标头中指定 CACHE-CONTROL:NO-CACHE 指令,以防止对不会消失的错误发疯(因为 Chrome 坚持缓存旧代码)。Firefox 不会显示此行为。 (2认同)