gpt4 book ai didi

javascript - Cookie 在 Android Webview 的 iframe 中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:56:57 24 4
gpt4 key购买 nike

我的基于 Webview 的浏览器应用程序的一位用户报告了在 iframe 中嵌入 Google 日历的问题。看起来由 Android Webview(来自 Google Play 的最新版本,使用 Android 6 测试)加载的 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 站点,您可以通过“创建 Cookie...”或“显示所有 Cookie”按钮设置/读取 cookie。然而,在 iframe 中显示所有 cookie 总是返回空结果。即使您在显示所有 cookie 的 iframe 中创建一个 cookie,也会得到一个空结果。

是否有任何影响此行为的 Webview 设置?

最佳答案

我不知道为什么,但是可以通过像这样启用第三方 cookie 来改进行为:

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

这样做之后,cookie 将按预期在 iFrame 中工作。

关于javascript - Cookie 在 Android Webview 的 iframe 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38672306/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com