0

这仅适用于 Safari 5.1.4 和 5.1.5。它适用于较旧的 Safari 版本。

如果您访问: http: //gemal.dk/test/restob.html 并单击按钮,您会在 iframe 中获得在线预订

如果您单击绿色日期,然后单击“您的会话已过期”的时间。

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

Safari 拒绝会话 cookie,这始于 Safari/Google 问题,其中 Safari 对 3rd 方 cookie 变得更加严格。版本 5.1.4+

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

我发送正确的 P3P 标头。我已经尝试了很多我无法让它工作的东西。

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

4

2 回答 2

2

也许,以下链接会对您有所帮助。

http://www.reizbombardement.de/archives/safari-5-1-4-enforces-cookie-policy

Safari 3rd 方 cookie iframe 技巧不再有效?

当然,要为您的域设置 cookie 并刷新打开器然后关闭,您必须准备虚拟页面(例如...safari_cookie_fix.php)

但是......在我们的项目中,我们准备了它的虚拟页面作为好看(不错的可用性!)加载页面。

于 2012-04-18T11:42:00.687 回答
1

我尝试了一个类似的问题。一个网络“父”页面在 jquery fancybox i-frame 跨域中打开我的“子”网站。Explorer、Chrome、Firefox、Opera 甚至 Mac 上的 Safari (5.8.1) 都没有问题。但是对于 iPhone、iPad 和 mini iPad,i-frame 中的会话会丢失。

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

我们以非常简单的方式解决问题:

当父网站启动时,它直接调用子网站中的页面(而不是在 i-frame 中)。在这个页面中,我只是设置了一个会话变量,然后我重定向到了父网站。现在,当子网站在 iframe 中打开时,会保留会话。

于 2013-04-08T21:20:59.653 回答