11

我在 iframe 中设置 cookie 时遇到问题(从另一个域加载站点)。
在我的网站 X.COM 我加载<iframe src='Y.COM'>

Y.COM 尝试设置 cookie,但 Safari 阻止了它们,因为该站点以前没有访问过。所以加载 Y.COM 失败,因为没有 cookie 就无法工作。有没有办法解决这个问题?

PS 我无法修改 Y.COM 的任何数据。

PSS 我们也可以修改 Safari 的设置 - "Accept cookies" = "Always",但这不是我的解决方案 - 似乎不可能引导每个用户都这样做..

4

1 回答 1

4

我尝试了一个类似的问题。一个网络“父”页面在 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:51:47.420 回答