Opera忽略头文件中的缓存指令



已经阅读了这个问题,我还没有设法找出问题是什么与我的网页http://opentox.ntua.gr/vlab/pid/被Opera缓存。下面是重现问题的方法:

  1. 使用Opera (version 11.60, build 1185, for Linux)导航到http://opentox.ntua.gr/vlab/pid/
  2. 不改变任何参数-只需点击运行。等一下,你会看到一些图表。
  3. 现在选中"开环"复选框并再次点击运行。你应该得到不同的结果,但你没有。图片被缓存,不会重新加载。
  4. 强制重新加载第一张图像:右键单击该图像并单击"重新加载图像"。你会注意到重新加载的图像已经改变了…

现在进入工具>首选项>高级>历史记录。将"内存缓存"设置为"关闭","检查文件"设置为"总是","检查图像"设置为"总是"。点击"现在清空"并退出。然后,问题就解决了。是否有一种方法可以通过指定HTML文档的适当标题来强制Opera重新加载图像,而不是让用户全局更改其配置?

请注意,这个问题不会在其他浏览器上重现,并且HTML文档已经在其头中包含了以下指令:

<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="CACHE-CONTROL" content=
   "no-store, no-cache, must-revalidate, 
    post-check=0, pre-check=0, max-age=0"/>
<meta http-equiv="Expires" content="0"/>

图形文件有自己的缓存信息头,在您的情况下,告诉opera可以使用缓存文件-您可以使用例如firebug for ff检查头。尝试在。htaccess

中添加如下内容

更多信息请点击这里http://httpd.apache.org/docs/2.0/mod/mod_expires.html

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/gif "access plus 1 second"
    ExpiresByType image/jpeg "access plus 1 second"
    ExpiresByType image/png "access plus 1 second"
</IfModule> 

它应该工作,但可能有一个更干净的方式来写-我不是一个专家。htaccess。

你也可以通过php脚本提供文件,首先吐出一个适当的头,没有缓存,然后写出从hd读取的gif。

最新更新