2012-04-17 48 views
0

这仅适用于Safari 5.1.4和5.1.5。它适用于较旧的Safari版本。safari上的iframe中缺少cookie 5.1.5

如果你去: http://gemal.dk/test/restob.html 并点击按钮,你得到一个网上预约一个IFRAME

如果你在一个绿色的一天,然后点击你都带有一个“您的会话时有内过期”。

如果您检查cookie,您没有任何cookie。

Safari会拒绝会话cookie,这是围绕着Safari/Google问题开始的,Safari对Google第三方Cookie的要求越来越严格。版本5.1.4+

我该如何解决这个问题?我如何在iframe中设置cookie?

我发送正确的P3P标题。我尝试了很多我无法正常工作的东西。

它适用于所有其他的浏览器与Safari 5.1.4+

回答

1

我试验过类似的问题。 网页“父母”页面在jquery fancybox i-frame跨域打开我的“孩子”网站。 使用资源管理器,Chrome,Firefox,Opera甚至在Safari上使用Safari(5.8.1)都没问题。 但是在iPhone,iPad和迷你iPad中,i帧中的会话丢失。

这意味着,每次点击i帧中的元素(网站在aspx中)时,都会启动一个新会话。

我们解决问题的一个非常简单的方法:

当父网站开始,它直接调用页面的子站点(不在一个I帧)。在这个页面中,我只设置一个会话变量,然后重定向到父网站。 现在,当子网站在iframe中打开时,会话将保留。