【问题标题】:How to disable cache on chrome for Android?如何在 Android 的 chrome 上禁用缓存?
【发布时间】:2013-09-08 17:16:13
【问题描述】:

如何在 chrome for Android 上禁用缓存?

我更改了我的页面内容,并刷新了页面,但内容仍然是旧的。

我已经像下面这样设置了 nginx 配置,但是没有效果。

#disable cache
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma no-cache;
add_header Expires 0;

有没有办法获得我的最新页面而无需一次又一次地手动清除缓存?

【问题讨论】:

  • 您是否尝试这样做以进行开发?还是为了真正的流量?

标签: google-chrome


【解决方案1】:

这可能不是最简单的方法,但它会 100% 有效,并且无论如何都应该成为您开发设置的一部分。

在 Windows 或 Mac 上使用 Google Chrome 网络工具将允许您执行“remote debugging”。

  1. 通过设置中的开发者菜单在 Android 设备上启用远程调试。
  2. 使用 USB 将手机连接到电脑
  3. 打开 Google Chrome 并访问开发者控制台 (F12)
  4. 点击三个点(右上角)> 更多工具 > 远程设备。
  5. 向下滚动以选择您的移动设备,此时您应该会看到所有 chrome 实例在您的手机上打开。按Inspect 选择您希望“强制重新加载并禁用缓存”的实例
  6. 应该会出现另一个屏幕,允许您访问网络选项卡并选择“禁用缓存”

【讨论】:

  • 很棒的男人!!!感谢这个提示。不幸的是,您必须在此过程中始终保持窗口打开,就像在 PC 浏览器中一样。而且电话有点变慢。但见鬼,总比没有好。谢谢
  • 对于那些无法将手机连接到调试会话的用户,请务必在按 F12 并选择“远程设备”之后将手机插入。这将弹出提示以接受完成连接所需的手机上的调试会话。你可以阅读更多关于here的信息。
  • 三星用户还应该查看this answer 以了解其他一些步骤。具体来说,您可能需要运行 adb devices 才能开始。
  • 即使勾选了“禁用缓存”的 chrome 有时也会使用它!
【解决方案2】:

目前无法在 Android 的 chrome 上禁用缓存,但可以清除缓存。

更新:目前有一种方法可以禁用缓存,需要连接手机并需要远程调试,请参阅 Dean Meehan 的 answer 了解更多信息
按照以下步骤清除缓存。

http://www.refreshyourcache.com/en/chrome-android/

  1. 点击菜单按钮(右上角的三个点)。
  2. 点击菜单中的设置
  3. 点击菜单中的隐私
  4. 点击底部的清除浏览数据...
  5. 从列表中选择清空缓存
  6. 确认清除浏览数据。

【讨论】:

  • 请从您提供的链接中复制要点。一段时间后,链接可能会断开,答案将不再有效。
  • 我不能,我没有那么大的名声。
  • @Shariq:您可以编辑自己的帖子。使用链接中的相关部分扩展您的答案。如果您不这样做,您的回答将非常接近被删除。
  • 好的,谢谢你的帮助!
  • 关键是禁用它,这样您就不必每次都执行这些步骤
【解决方案3】:

我知道问题是关于在 Android 的 chrome 上禁用缓存,但这可能会帮助人们寻找移动开发的解决方案。

要使用您的 Android 设备查看您网站上的更改,请使用 Chrome 网络菜单中的新隐身标签

  1. 在 chrome 浏览器中点击右上角的下拉菜单
  2. 点击“新建隐身标签”
  3. 导航到您的网站并查看您最近所做的所有更改。

重要提示:要在以隐身模式查看后看到新的更改,您必须完全关闭隐身模式并重新打开,因为当前标签页也会缓存。

【讨论】:

  • 有帮助!我不知道为什么,但在最新版本中,我必须重新加载整个 Chrome 才能看到变化。
  • 最简单的方法!
【解决方案4】:

要首先禁用缓存,您必须禁用正在编辑的脚本/css 缓存。

为此,请在您的文件包含中添加时间戳:

<link rel='stylesheet' href='/static/css/main.css?t={{ts}}'/>
<script type='text/javascript' src='/static/scripts/main.js?t={{ts}}'></script>

{{ts}} 是一个时间戳(我正在使用 jinja 模板)。

然后,如果您编辑 html 页面,您可以更改请求,向其中添加随机参数:

测试 1: mywebsite.com/this_page

测试 2: mywebsite.com/this_page/?i=1

测试 3: mywebsite.com/this_page/?i=2

...

与其说是真正的解决方案,不如说是一种 hack,但 chrome 会忽略 cache-control 元数据,因此没有很多干净的方法可以做到这一点。

【讨论】:

  • 这是唯一对我有用的解决方案,因为我没有使用 PC 进行开发。
【解决方案5】:

以下 bash 脚本将重命名

&lt;script src="path/to/app.js"&gt;&lt;/script&gt;

&lt;script src="path/to/app.js?t=18:15:45&gt;&lt;/script&gt;

index.html 文件中,这将阻止移动缓存。

#!/bin/bash

time=$(date +"%T")
sed -i "s/app.js/app.js?t=${time}/" ./path/to/index.html

【讨论】:

    【解决方案6】:

    下载此应用:应用缓存清理器

    1. 打开应用
    2. 通过“3 个虚线”按钮转到应用设置

    screenshot

    1. 勾选显示小部件的选项,其余由您决定

    您也可以禁用 Chrome 的数据压缩策略和页面预加载。

    目前,chrome 中没有“禁用缓存”选项

    screenshot2

    PS:因为我的rep太低,所以我不显示图片,请帮我增加它;p

    【讨论】:

    • @Joshua 的回答也有帮助。
    • 请注意格式、拼写和语法。这将有助于获得更大的代表。
    猜你喜欢
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2012-12-16
    • 2019-02-20
    相关资源
    最近更新 更多