HTML - 如何检查文件(.js或.css)是否已从缓存中加载或拾取?

时间:2014-03-06 17:38:11

标签: javascript html css caching browser

首先,我需要一种强制浏览器始终加载.css和.js文件的方法。我通过在文件中添加一个sufix来解决它:

在:

<script type="text/javascript" src="file.js"></script>

后:

<script type="text/javascript" src="file.js?v=1"></script>

那显然有效。

现在,我需要知道这是否真的有效。当然,我可以编辑文件并检查浏览器中的更改,但我需要一种更具体的方法,比如浏览器中显示“从缓存加载的文件”/“从文件夹加载的新文件”中的选项。

你能帮助我吗?

2 个答案:

答案 0 :(得分:2)

在Chromium / Chrome浏览器中打开开发人员工具(alt + cmd / ctrl + I,或者右键单击窗口并点击inspect元素),然后单击网络选项卡它是大小和Status属性,告诉您资产是否来自浏览器缓存,以及是否向服务器发出请求以检查资产是否过时。

人们可能会错误地将304视为理想的浏览器缓存,如果您通过刷新发送请求来检查响应,浏览器会添加一个标题来强制检查服务器。

因此,如果资产/资源保存在您的浏览器中,您将始终检查服务器的陈旧性,从而获得304.

如果您事先打开了开发人员工具,那么只需点击地址栏并点击回车即可刷新状态: 200 OK 尺寸:(来自缓存)

如果由于任何原因您没有看到包含大小的列,请右键单击该窗口并从属性列表中选择它。

**注意:如果您在同一浏览器会话期间刷新,则较新版本的Chrome看起来不再发送强制重新验证标头。相反,你会看到200:来自内存缓存。

答案 1 :(得分:1)

从服务器加载资源或从缓存中获取资源是浏览器责任区。从客户端代码中,您无法确定实际使用的源(如果您不使用ajax动态加载资源)。只有您可以查看开发人员工具(或Firebug)中的“网络”选项卡。