【问题标题】:Missing cookies on iframe in safari 5.1.5Safari 5.1.5 中 iframe 上缺少 cookie
【发布时间】:2012-04-17 13:24:22
【问题描述】:

这仅适用于 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+ 以外的所有其他浏览器

【问题讨论】:

    标签: session iframe cookies safari


    【解决方案1】:

    也许,下面的链接会对你有所帮助。

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

    Safari 3rd party cookie iframe trick no longer working?

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

    但是…… 在我们的项目中,我们将其虚拟页面准备为 Good-looking(Not bad usability!) loading page。

    【讨论】:

      【解决方案2】:

      我尝试了一个类似的问题。 一个网络“父”页面在 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 中打开时,会话保持不变。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-08
        • 2012-04-11
        • 2020-04-30
        • 2021-03-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多