如何真正刷新Safari的缓存?


16

在Mac上编辑HTML之后,无数次出现问题。问题出在我通过FTP将更新的文件上传到我的服务器,然后导航到Safari中的网站。不能正常工作的一件事是Safari已经缓存了网页(旧版本),因此它将显示旧版本。我心想,决定清除Safari中的缓存,希望它能解决我的问题。清除缓存仅使网站看起来重新加载。它仍然提供了该文件的旧版本。为了证明服务器上的文件实际上已更新,我在同一网络上安装了另一台Mac,它显示了文件的新版本。无论我刷新或清除缓存或重新打开Safari多少次,它都会始终传递旧文件。我唯一能想到的其他解决方案是重新启动。重新启动后,Safari重新加载了整个网站并显示了该文件的新版本。

我真的只是想知道如何刷新Safari的缓存并使其正常运行。这是操作系统做的吗(我的硬盘驱动器上的文件也有类似的问题)?我不想一直为了查看文件的新版本而一直重启,那么有什么方法可以确保我正在查看最新的文件吗?是否有一个我可以手动清除的临时存储文件夹?这在我身上经常发生(不是很频繁,但是足以引起我的注意),而我目前唯一的解决方案是重新启动。

我有一种奇怪的感觉(这不是一个真正的想法,但是有那么一点细微的可能性并没有多大意义),它起源于一个较低的层次。


使用Chrome(或歌剧)?
假名称

我宁愿使用Firefox,但我正在开发中,因此我需要在所有浏览器(包括Safari)上测试我的网站。
安德鲁·拉尔森

使用curl命令行命令来请求URL,以查看其内容是很有用的。旧页面还是新页面?由于curl根本没有“缓存”任何概念,因此这将告诉您远程端(或两者之间的路径)是否有人在进行不需要的缓存。 您的服务器可能只是这里的罪魁祸首!是否缓存其服务的文件?Betcha是。。。
Mike Robinson

Answers:


13

在Safari中,在单击刷新按钮的同时按住Shift)键。这将执行“硬”刷新,从而绕过本地缓存。

(要快速清除Safari中的缓存,请点击+ + E,转到“ 隐私”,然后单击“删除所有网站数据”。)


下次遇到这个问题时,我将尽力尝试。那是我还没有做的一件事。我尝试过重置Safari,清除缓存,甚至注销并重新登录。感谢您的出色回答!
安德鲁·拉尔森

2
Safari是有点这方面的困惑,因为大多数其他浏览器使用+ + R执行硬刷新。在Safari中,除非您在执行键盘组合时专注于Web开发人员工具,否则不会执行任何操作。
Mathias Bynens 2012年

我现在将接受您的回答,直到有人提出更好的解释并为我所遇到的无知缓存提供了一种行之有效的解决方案。谢谢!
安德鲁·拉尔森

1
@AndrewLarsson无论如何,在不进行任何奇怪的服务器端缓存的情况下,硬刷新之后,您应该始终获得最新版本。这让我想起了服务器与文件一起发送的哪些缓存头?这可能是服务器配置问题。
Mathias Bynens 2012年

那是我在想的另一件事。如果服务器在实际上应该返回新内容的情况下返回304,则需要在配置中进行更改。下次遇到此问题时,我将对此进行调查。
安德鲁·拉尔森

2

当Safari无法清除缓存时:

  1. 确保您已退出所有网页,并且已关闭所有Safari标签。

  2. 打开Finder,然后在菜单栏中选择Go→Go To Folder...。(或者,您也可以使用键盘快捷键,Command+ Shift+ g)。

  3. 复制以下内容并将其粘贴到下拉列表中:

    ~/Library/Safari/Databases

  4. 通过突出显示所有文件夹并右键单击并选择移至废纸rash,删除该文件夹中出现的所有内容。

  5. 再次打开Safari并检查是否已删除所有项目。

  6. 如果在搜索上述条件时没有任何显示,请搜索

    ~/Library/Safari/Local Storage

    然后按照上述步骤4和5删除所有内容。


请注意,尽管Safari在上面说过,它将“删除所有网站数据”,但事实是,事实并非如此。但是,如果您清除此处提到的各个文件夹的内容,它将会。
Mike Robinson

1

我遇到了完全相同的问题,只是我注意到其他浏览器也正在发生此问题。事实证明,它不是Safari或OSX,而​​是服务提供商创建的缓存。

为了解决该问题,我将代码放在页面中以防止被缓存。

content =“ no-cache”

“有些人了解浏览器缓存,但仍然对ISP缓存感到吃惊。ISP缓存的工作方式与浏览器缓存大致相同。一旦您访问了网站,您的ISP可能会缓存这些页面,以便它们加载速度更快。下次访问它们时,主要的问题是,与浏览器缓存不同,您无法删除这些临时文件,而必须等到ISP缓存过期并请求文件的新副本时,如果这样做会非常令人沮丧。您正在尝试开发或更改您的网站-甚至是查看新信息。”


您能否返回完整的代码(就像您在答案的第一个版本中一样)?如果在行的开头放置四个空格,那么格式应该没有任何问题。
nohillside

这是一个好点,我下次再试。但是,我不确定它对问题中所述情况的适用程度,因为我使用的Mac都在同一网络上,并且具有相同的全局IP(因此ISP无法确定他们之间的差异)。
安德鲁·拉尔森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.