Google chrome 如果页面显示在框架中,Google Chrome不遵守页面标题中的缓存策略

Google chrome 如果页面显示在框架中,Google Chrome不遵守页面标题中的缓存策略,google-chrome,meta-tags,cache-control,content-expiration,Google Chrome,Meta Tags,Cache Control,Content Expiration,无论我做什么: <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="Expires" content="Fri, 30 Apr 2010 11:12:01 GMT" /> <meta http-equiv="Expires" content="0" /> <HTTP-EQUIV="PRAGMA" CONTENT="NO-STORE" /> 如果页面显

无论我做什么:

<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Expires" content="Fri, 30 Apr 2010 11:12:01 GMT" />
<meta http-equiv="Expires" content="0" />
<HTTP-EQUIV="PRAGMA" CONTENT="NO-STORE" />

如果页面显示在框架中,Google Chrome不会根据页面的内部缓存策略重新加载任何页面。就好像meta标签根本就不存在。谷歌浏览器似乎忽略了这些标签

因为我已经在其他论坛上得到了这个问题的答案,在这些论坛上,回复者忽略了操作条件,所以我将重复它:当页面显示在一个框架中时,就会发生这种行为

我使用的是最新发布的版本,后来升级到5.0.375.29 beta版,但在两个版本中的行为是相同的

是否有人愿意以某种方式确认您在框架集和元标记中给出的缓存/过期策略中看到的行为


谢谢

您在框架文档和父/宿主文档中都尝试了这些元标记吗?

是的,过期策略在framset文档和内容文档中都有。带有框架集声明的文档不会被重新加载。Chrome审核语句,框架页面是“显式不可缓存的。如果可能的话,考虑让它缓存”。内容文档永远不会重新加载。我第一次在Chrome中加载它们时,它们没有控制过期的元标记。尽管我已经添加了这些标签并重新上传,但Chrome似乎已经永久缓存了它们。我明白了。我能想到的解决这个问题的唯一方法可能是一个不吸引人的方法:在frame SRC上指定一个参数来破坏缓存:iframe SRC=“document.html?x=new”。或者,如果您有幸使用asp.net?t=等服务器端脚本,文档将忽略该参数,但chrome会将其视为不同的URL。但我意识到,出于一些原因,这是不吸引人的。谢谢。我回去硬编码了一个参数来强制重新加载。尽管这一论点不会因为硬编码而改变,但Chrome现在在meta标签中尊重这一政策。显然,不受欢迎的行为是这样的:如果页面在第一次加载时没有缓存/过期策略,Chrome将继续缓存它,即使稍后将这样的策略添加到页面中。要么是Chrome在页面没有开始时不寻找策略,要么是NULL或未定义的原始过期日期在某种程度上打乱了与新过期日期的比较。它必须从服务器获取文件才能查看新的元标记,这会破坏缓存的概念,对吗?似乎除了现在的工作方式之外,没有其他方法了?而且,这个问题可能只会影响很久以前首次加载到Chrome中的文档;也许现在存储的过期日期与过去不同。对今天创建的文档进行的测试表明,Chrome符合meta标记。