2012-02-28 48 views
0

我有一个运行在iFrame中的.net站点。为了跟踪页面上的各种内容,我使用了一个cookie。我正在使用p3p标头来确保IE可以读取cookie。 然而,它似乎并不总能奏效。如果我按照下面的步骤重新创建问题。仅在刷新页面后才读取iFrame cookie

  1. 删除所有cookie IE
  2. 浏览IFRAME包含我的网页
  3. 读取Cookie确定。
  4. 关闭浏览器
  5. 导航回的iFrame
  6. 饼干不读
  7. 刷新页面(F5)
  8. 读取Cookie OK
  9. 从第4步循环往复重复...

这是父页面还是iFramed页面中的缓存问题? 如果这是一个缓存问题,我怎么能确保IE不会缓存这个特定的页面,而是重新加载页面以及cookie?

不用说,Chrome或Firefox中不会发生这种情况。

任何可以摆脱这一点的灯将非常感激。

S.

回答

0

这是iFrame的缓存问题。解决这个问题的方法是在iFrame的url中添加一个唯一的查询字符串参数。

像这样将工作:

<iframe src="http://www.MyAspNetApplication.com?q=<% =DateTime.Now.Ticks %>"></iframe> 

其中Q是唯一的查询字符串PARAM。

+0

这非常有道理,但它似乎并不影响IE中的缓存。 – user527269 2012-03-01 11:43:20

+0

您是否可以检查页面的源代码以确保iframe的src对于每次访问都是唯一的? – Khan 2012-03-01 14:04:33