2012-04-17 74 views
0

這僅適用於Safari 5.1.4和5.1.5。它適用於較舊的Safari版本。safari上的iframe中缺少cookie 5.1.5

如果你去: http://gemal.dk/test/restob.html 並點擊按鈕,你得到一個網上預約一個IFRAME

如果你在一個綠色的一天,然後點擊你都帶有一個「您的會話時有內過期」。

如果您檢查cookie,您沒有任何cookie。

Safari會拒絕會話cookie,這是圍繞着Safari/Google問題開始的,Safari對Google第三方Cookie的要求越來越嚴格。版本5.1.4+

我該如何解決這個問題?我如何在iframe中設置cookie?

我發送正確的P3P標題。我嘗試了很多我無法正常工作的東西。

它適用於所有其他的瀏覽器與Safari 5.1.4+

回答

1

我試驗過類似的問題。 網頁「父母」頁面在jquery fancybox i-frame跨域打開我的「孩子」網站。 使用資源管理器,Chrome,Firefox,Opera甚至在Safari上使用Safari(5.8.1)都沒問題。 但是在iPhone,iPad和迷你iPad中,i幀中的會話丟失。

這意味着,每次點擊i幀中的元素(網站在aspx中)時,都會啓動一個新會話。

我們解決問題的一個非常簡單的方法:

當父網站開始,它直接調用頁面的子站點(不在一個I幀)。在這個頁面中,我只設置一個會話變量,然後重定向到父網站。 現在,當子網站在iframe中打開時,會話將保留。