iframe Safari中的跨域cookie

时间:2012-10-18 08:44:26

标签: iphone iframe cookies safari cross-domain

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

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

P.S。我无法在Y.COM修改任何数据。

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

1 个答案:

答案 0 :(得分:4)

我尝试了类似的问题。一个网络“父”页面在jquery fancybox i-frame跨域中打开我的“子”网站。使用Explorer,Chrome,Firefox,Opera以及MAC上的Safari(5.8.1)都没问题。但是对于iPhone,iPad和迷你iPad,i-frame中的会话将丢失。

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

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

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