0

これはSafari5.1.4および5.1.5専用です。古いSafariバージョンで動作します。

http://gemal.dk/test/restob.htmlにアクセスし てボタンをクリックすると、iframe内でオンライン予約を取得できます

緑の日をクリックしてから、「セッションの有効期限が切れました」というメッセージが表示された場合。

あなたがクッキーをチェックするならば、あなたはクッキーを持っていません。

SafariはセッションCookieを拒否しています。これは、SafariがサードパーティのCookieについてより厳格になったSafari/Googleの問題を中心に始まりました。バージョン5.1.4以降

どうすればこれを解決できますか?iframeにCookieを設定するにはどうすればよいですか?

正しいP3Pヘッダーを送信します。私はそれを機能させることができない多くのことを試みました。

Safari5.1.4以降以外のすべてのブラウザで動作します

4

2 に答える 2

2

たぶん、次のリンクが役に立ちます。

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

Safari サードパーティ Cookie iframe トリックが機能しなくなりましたか?

確かに、あなたのドメインに Cookie を設定し、オープナーを更新してから閉じるには、ダミーページ (例: safari_cookie_fix.php) を用意する必要があります。

しかし... 私たちのプロジェクトでは、見栄えの良い(悪くないユーザビリティの)読み込みページとして、そのダミーページを用意しています。

于 2012-04-18T11:42:00.687 に答える
1

同様の問題を実験しました。Web「親」ページは、jquery fancybox i-frame クロスドメインで私の「子」Web サイトを開きます。Explorer、Chrome、Firefox、Opera、さらには MAC 上の Safari (5.8.1) でもまったく問題ありません。ただし、iPhone、iPad、および mini iPad では、i フレームのセッションが失われます。

つまり、i フレーム (Web サイトは aspx にあります) 内の要素をクリックするたびに、新しいセッションが開始されます。

非常に簡単な方法で問題を解決します。

親 Web サイトが起動すると、(i フレームではなく) 子サイトのページが直接呼び出されます。このページでは、セッション変数を設定して、親 Web サイトにリダイレクトします。子 Web サイトが iframe で開いている場合、セッションが維持されるようになりました。

于 2013-04-08T21:20:59.653 に答える