Cookie在安卓Webview的iframe中不起作用
Cookies are not working in an iframe in Android Webview
我的一个基于Webview的浏览器应用程序的用户报告了在iframe中嵌入谷歌日历的问题。Android Webview(Google Play的最新版本,在Android 6上测试)加载的iframe似乎无法读取或设置任何cookie。
该问题不存在于同一设备上的谷歌浏览器中。它似乎只与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网站,您可以通过按钮"创建cookie…"或"显示所有cookie"设置/读取cookie。然而,在iframe中,显示所有cookie总是返回一个空结果。即使您在iframe中创建了一个显示所有cookie的cookie,也会得到一个空结果。
是否有任何Webview设置会影响此行为?
我不知道为什么,但可以通过启用这样的第三方cookie来改善行为:
if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
CookieManager.getInstance().setAcceptThirdPartyCookies(webView,true);
这样做之后,cookie将按预期在iFrame中工作。
相关文章:
- 从子级(iframe)到父级的跨域通信不起作用
- iframe中的jQuery查找元素不起作用
- 如果iframe在src(pdf或text)中有非html文档,则iframe中的onload不起作用
- iframe resizer内部的锚点链接不'不起作用
- 我需要一种自动调整iframe大小的方法,无论我查到什么,它都不起作用
- 占位符属性嵌入IE中的iframe时不起作用
- jQuery道具在iframe中不起作用
- Iframe加载动画不起作用
- 将IFrame滚动到顶部在Chrome中不起作用
- Iframe滚动溢出隐藏在css中不起作用
- iframe高度100%不起作用
- document.ready函数在iframe内不起作用
- 火狐浏览器 iframe 设计模式不起作用
- Javascript href 刷新 iframe 不起作用
- 当我使用绝对URL时,Iframe不起作用
- 静音iframe不起作用不是youtube iframe
- javascript的历史.pushState对iframe不起作用
- Iframe不起作用
- 为什么scrollTo()方法对iframe不起作用?
- 为什么谷歌地图iframe不起作用并显示位置