首页 文章

禁用Chrome缓存以进行网站开发

提问于
浏览
1479

我正在修改一个网站's appearance (CSS modifications) but can't看到Chrome上的结果,因为恼人的持久缓存 . 我尝试了Shift刷新但它不起作用 .

如何暂时禁用缓存或以某种方式刷新页面以便我可以看到更改?

30 回答

  • 8

    除了禁用缓存选项(通过开发人员工具窗口右下角的按钮 - 工具|开发人员工具或Ctrl Shift I),在开发人员工具的网络面板上,您现在可以正确使用单击并从弹出菜单中选择"Clear Cache" .

  • 20

    现在有更好更快的方法(Chrome版本59.x.x.):

    右键单击reload-icon(url-field的左侧),然后出现一个下拉菜单,选择第三个选项:'empty Cache and Hard reload' .

    此选项仅在开发人员工具打开时可用 . (注意与选项2的区别:'硬重载'-cmd-shift-R) . 没有缓存在这里排空!

  • 23

    使用Ctrl Shift R刷新很好但没有刷新,例如存储在js和css中的数据 . 找到了解决方案:a toolbar of google for chrome web developers . 安装工具栏后选择选项和"reset page" .

  • 2

    enter image description here

    当您需要每小时清理缓存30次时清除缓存太烦人了 . 所以我安装了一个名为 Classic Cache Killer 的Chrome扩展程序,可以清除每个页面加载的缓存 .

    Chrome Store Link (free)(现在没有恶意软件!)

    现在我的模拟json,javascript,css,html和数据刷新 every time every page load .

    如果我需要清除缓存,我永远不必担心 .

    我找到了大约20个用于Chrome的缓存清理程序,但这个看起来很轻巧且省力 . 在更新中,Cache Killer现在可以保持“始终开启”状态 .

    注意:我不知道插件作者的任何方式 . 我发现它很有用 .

  • 234

    将此字符串添加到您的应用中,它应该可以解决问题 .

    <meta name="robots" content="noarchive">
    
  • 16

    如何暂时禁用缓存或以某种方式刷新页面以便我可以看到更改?

    It's unclear which "cache" you're referring to. 浏览器可以持续缓存内容的方法有多种 . Web Storage是其中之一,Cache-Control是另一个 .

    某些浏览器还具有Cache,与Service Workers结合使用,以创建提供离线支持的Progressive Web Apps(PWA) .

    To clear the cache for a PWA

    self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })
    

    列出缓存键的名称,然后运行:

    self.caches.delete('my-site-cache')
    

    按名称删除缓存密钥(即 my-site-cache ) . 然后刷新页面 .

    如果在刷新后在控制台中看到任何与工作人员相关的错误,则可能还需要取消注册已注册的工作人员:

    navigator.serviceWorker.getRegistrations()
      .then(registrations => {
        registrations.forEach(registration => {
          registration.unregister()
        }) 
      })
    
  • 0

    不确定您使用的是什么,但如果您使用的是ASP.Net,您可以执行以下操作:

    <link href="@Url.Content("~/Content/Site.css")?time=@DateTime.Now" rel="stylesheet" />
    

    基本上它会在每次运行时自动将日期和时间附加到文件的末尾,这意味着由于文件名在技术上不同,所以您永远不必担心它会再次被缓存 .

  • 3

    在修复错误之前,您可以使用Clear Cache Chrome插件,还可以为其设置键盘快捷键 .

    安装后,右键单击并转到选项:

    http://j.mp/15ZdA6f

    检查 Automatically reload active tab after clearing data

    http://j.mp/15ZdGLh

    选择 Everything 作为时间段:

    http://j.mp/15ZdPy7

    然后你可以去Menu => Tools => Extensions:

    http://j.mp/15ZehfX

    单击底部的键盘快捷键:

    http://j.mp/15Zepft

    并设置键盘快捷键,例如Ctrl Shift R:

    http://j.mp/15Zev6M

  • 187

    我刚被抓出来但不一定是因为Chrome .

    我正在使用jQuery来发出AJAX请求 . 我在请求中将cache属性设置为true:

    $.ajax({
            type: 'GET',
            cache: true,
            ....
    

    将此设置为 false 解决了我的问题,但这并不理想 .

    我不知道这些数据保存在哪里,但我知道chrome从未到达服务器请求 .

  • 0

    实际上,如果您不介意使用带宽,则由于多种原因更加安全,禁用缓存并被许多安全站点建议 .

    Chromium不应该傲慢,无法做出决定并对用户实施设置 .

    您可以使用--disk-cache-dir = / dev / null在UNIX上禁用缓存 .

    由于这是意外的崩溃可能会发生,但如果他们这样做,那将明确指出一个更严重的错误,在任何情况下都应该修复 .

  • 13

    Chrome DevTools可以禁用缓存 .

    • Right-click 并选择 Inspect Element 打开DevTools . 或者使用以下keyboard shortcuts

    • F12

    • Mac上的命令选项i
      在Windows或Linux上

    • Control Shift i

    • Click Network 在工具栏中打开网络窗格 .

    • Check 顶部的 Disable cache 复选框 .

    screenshot of development tools panel

    请注意,从@ChromiumDev开始_115957_,此设置为 only active while the devtools are open .

    请注意,这将导致重新加载所有资源 . 如果您只想为某些资源禁用缓存,您可以将服务器与文件一起发送 .

    如果您不想使用 Disable cache 复选框,长按刷新按钮 with the DevTools open 将显示一个菜单,其中包含 Hard ReloadEmpty Cache and Hard Reload 的选项,这些选项应具有类似的效果 . 阅读difference between the options . 可以使用以下快捷方式:

    • Mac上的命令选项R.
      在Windows或Linux上
    • Control Shift R.

    long press

  • 0

    Picture of reload menu

    • 按下F12然后(打开控制台)拉起Chrome开发者控制台:

    • 右键单击(或按住左键单击)浏览器顶部的重新加载按钮,然后选择“清空缓存和硬重新加载” .

    这将超出“Hard Reload”以完全清空缓存,确保通过javascript等下载的任何内容也将避免使用缓存 . 你不必弄乱设置或任何东西,这是一个快速的一次性解决方案 .

  • 13

    如果您不想编辑Chrome的设置,则可以使用隐身模式获得相同的结果 .

  • 0

    我的第三个Chrome扩展程序Page Size Inspector提供了另一个禁用缓存的选项,它可以像使用Devtools一样禁用缓存 .

    此外,扩展程序可以快速报告网页的页面大小,缓存使用情况,网络请求和加载时间方便的方式 . 加上Github的开源 .

  • 5

    Chrome网上商店中有一个名为Clear Cache的Chrome扩展程序 .

    我每天都使用它,这是我认为非常有用的工具 . 您可以将其用作重新加载按钮,并且可以清除缓存,如果您还喜欢cookie,区域存储,表单数据等 . 您还可以定义发生这种情况的域 . 因此,只需重新加载按钮即可清除所有这些内容,无论如何必须按 - 在您选择的域上 .

    非常非常棒!

    您还可以在选项中为此定义键盘快捷键!

    另一种方法是以隐身模式启动Chrome窗口 . 此处缓存也应完全禁用 .

  • 0

    只有在打开开发工具时才能在chrome中禁用缓存

  • 6

    如果您正在使用 ServiceWorkers (例如:用于渐进式网络应用程序),您可能还需要在开发工具中的应用程序>服务工作者下检查"Update on reload" .

    enter image description here

  • 12
    • F12打开Chrome DevTools

    • F1打开DevTools设置

    • 检查禁用缓存(当DevTools打开时),如下所示:

    这是默认情况下的“首选项”选项卡 . 您可能需要向下滚动 . 自从提出此问题以来,此复选框已至少移动了几次 . 最后我查了一下,它位于底部的中间栏 . 如果您在较薄的屏幕上打开并且“首选项”下有2列,则它可能位于右上角附近 . 如果更改或评论,请随时更新此帖子,我会更新帖子 .

  • 4

    如何更改页面名称以防止页面缓存的书签 . 在Chrome中,您可以创建新书签,然后将代码粘贴到网址中 . 单击书签,页面将重新加载时间戳以阻止缓存 .

    javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();
    
  • 1859

    我已经使用了上面描述的其他选项,但我发现最好将以下参数添加到chrome.exe的启动中 .

    “C:\ Program Files(x86)\ Google \ Chrome \ Application \ chrome.exe”--disk-cache-size = 1 -media-cache = 1

    我发现不禁用媒体缓存是一个好主意,但它是为了完整起见 .

    实际上我想要一个选项来完全禁用缓存,将内存用于IO而不是我的磁盘(这会使加载时间也快10倍!)但是我不认为chrome或任何浏览器都有这个选项 .

  • 16

    我的情况是浏览器从磁盘加载缓存数据,即使我检查它已禁用缓存(我使用的是Chrome) . 我的所有css和js都是从服务器而不是网页加载的 . 这发生在我的本地和制作上 .

    要修复它,我需要在我的URL中添加一个额外的参数来强制浏览器从服务器获取网页,即使控制器也不需要它 .

    我使用的是ASP.Net,所以这是我的例子

    //Controller function
    public ActionResult Index()
        {
            return View();
        }
    //Link
    @Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})
    

    结果是,它将生成如下链接:http://www.myweb.com/Home/Index?ts=636558555408282209

    这是我的情况和解决方案 . 希望它可以帮助某人 .

  • 0

    disable page caching in Chrome for good 还有两个选项:

    1. Deactivate Chrome Cache in the Registry

    打开注册表(开始 - >命令 - >注册表)

    搜索: HKEY_CLASSES_ROOT\ChromeHTML\shell\open\command

    将... chrom.exe“之后的部分更改为此值: –disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

    示例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -disable-application-cache –media-cache-size=1 –disk-cache-size=1 — "%1"

    重要:

    • 后面有一个空格和一个连字符... chrome.exe“

    • 保留chrome.exe的路径

    • 如果您复制该行,请务必检查引号是否为实际报价 .

    2. Deactivate Chrome cache by changing the shortcut properties

    右键单击Chrome图标,然后在上下文菜单中选择"Properties" . 将以下值添加到路径: –disk-cache-size=1

    示例: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" –disk-cache-size=1

    重要:

    • 后面有一个空格和一个连字符... chrome.exe“

    • 保留chrome.exe的路径

  • 0

    这可能对某人有帮助 .

    我已经操纵了我的Nginx疯狂缓存 . 因此,禁用网络工具中的缓存并显式清除缓存不起作用 .

    一个非常简单但又无聊的解决方法是,我只是打开一个新的隐身标签 . 令人惊讶的是,它始终有效!

    隐身模式下的硬刷新功能随时可以重新加载模式 .

  • 2

    嘿,如果您的网站使用的是PHP,请在html页面的开头放置一些小的PHP代码段:

    //dev versioning - stop caching
       $rand = rand(1, 99999999);
    

    现在,无论您在脚本或链接元素中加载CSS或JS文件等资源,都会在追加“?”后将生成的随机值附加到请求URL . 通过PHP到URI:

    echo $rand;
    

    而已!将不再有浏览器缓存您的网站 - 无论哪种类型 .

    当然,在发布之前删除你的代码,或者只是将$ rand设置为空字符串以允许再次进行缓存 .

  • 2

    要明确的是,Chrome中的禁用缓存复选框(此处为v17,但我认为是v15)不在主设置UI中 . 它位于开发人员工具设置UI中 .

    • 从浏览器窗口的扳手图标菜单(首选项菜单)中选择工具→开发人员工具

    • 在显示的开发人员工具UI中,单击右下角的齿轮图标 .

    • 选中“网络”部分中的“禁用缓存”复选框 .

  • 2

    在Canary Channels (也许是开发和稳定 Channels 将跟随),这可以在“General”部分的左侧找到整体的第二个选项 .

    Disable Cache in Chrome Canary Channel

    除此之外,总是可以选择通过Ctrl Shift N切换到隐身模式 . 即使这样也会结束你的会话 .

  • 11

    从版本50开始(如果我没记错的话),从“开发工具设置”中删除了“禁用缓存”选项 . 转到“网络”选项卡,然后是“禁用缓存”选项 .

  • 37

    Chrome的缓存杀手是迄今为止最好的选择 . 由于安装缓存杀手的商店URL已关闭,您可以在此处下载CRX文件:

    https://www.crx4chrome.com/extensions/jpfbieopdmepaolggioebjmedmclkbap/

    下载扩展文件后,打开Chrome - >更多工具 - >扩展程序,然后将CRX文件从文件资源管理器或桌面(取决于您下载文件的位置)拖到Chrome窗口中以安装扩展程序 .

  • 20

    我有同样的问题,我试过:

    • 控制转换R,

    • 在F12中禁用缓存

    • 控制F5 .

    然后我发现使用 a .appcache manifest for a non https site is deprecated . 我删除了我的site.appcache文件及其在html标签中的引用,现在我看到了每个页面的最新版本!

  • 4

    而不是击中“F5”只需点击:

    “Ctrl F5”

相关问题