2016-07-30 19 views
1

WebviewベースのブラウザアプリのユーザーがGoogleカレンダーをiframeに埋め込む際に問題が報告されました。 Androidウェブビュー(Google Playの最新バージョン、Android 6でテスト済み)で読み込まれたiframeのように見えますが、Cookieを読み取ったり設定したりすることはできません。Android WebviewのiframeでCookieが動作しない

問題は同じデバイスのGoogle Chromeに存在しません。これはAndroid Webviewにのみ関連しているようです。

次のサイトで問題を再現できます。

<!DOCTYPE html> 
 
    <html> 
 
    <head> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 
 
    </head> 
 
    <body> 
 
    <a href="http://www.w3schools.com/js/js_cookies.asp">Cookies Management</a> 
 
    <br><br> 
 
    <iframe style="margin-top: 30px; border-width: 1px;" src="http://www.w3schools.com/js/js_cookies.asp" width="400" height="672" scrolling="yes"></iframe> 
 
    </body> 
 
    </html>

あなたが読んで/ボタンでクッキーを設定し、「クッキーを作成...」または「すべてのCookieを表示」することができ、メインフレームにリンクを介してクッキーのサイトを開いた場合。 iframeでは、すべてのクッキーを表示すると常に空の結果が返されます。すべてのCookieを表示しているiframeにCookieを作成しても、空の結果が得られます。

この動作に影響するWebview設定はありますか?

答えて

5

私はなぜ知らないが、動作は次のようにサードパーティのCookieを有効にすることで改善することができます:予想通り

if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) 
     CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true); 

そうした後クッキーはiframe内に働いています。

関連する問題