2016-07-30 1 views
1

내 Webview 기반 브라우저 앱의 한 사용자가 Google 캘린더를 iframe에 삽입하는 데 문제가 있음을보고했습니다. Android Webview에서로드 한 iframe (Google Play 최신 버전, Android 6 테스트)은 쿠키를 읽거나 설정할 수 없습니다.Android 웹보기의 iframe에서 쿠키가 작동하지 않습니다.

동일한 기기의 Google 크롬에는 문제가 없습니다. 그것은 안드로이드 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>
메인 프레임에서 링크를 통해 쿠키 사이트를 열 경우 설정할 수 있습니다 /이 ... "쿠키 만들기"버튼으로 쿠키를 읽거나 "모든 쿠키를 표시합니다." 그러나 iframe에서 모든 쿠키를 표시하면 항상 빈 결과가 반환됩니다. 모든 쿠키를 표시하는 iframe에 쿠키를 만든 경우에도 비어있는 결과가 표시됩니다.

이 동작에 영향을주는 웹보기 설정이 있습니까?

답변

5

그 이유를 모르지만 동작은 다음과 같이 타사 쿠키를 가능하게함으로써 개선 될 수있다 : 예상대로

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

이렇게하면 쿠키가 iframe에 노력하고 있습니다.

관련 문제