我在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"
,但它不是我的解决方案 - 似乎不可能引导每个用户这样做..
答案 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中打开时,会话将被保留。