显然,在 Android 上使用 _blank 时,InAppBrowser 不会存储当前 session cookie。为了使这成为可能,我是否缺少某些设置?它似乎在 IOS 上完美运行,并且在排除故障时有点令人沮丧。当来自 oAuth 的回调发生并且我的服务器读取并分配当前 session 所需的数据时,cookie 需要在那里。
我试过的...
1) Adding CookieManager to android Childbrowser (老了,我知道)
2) target = _self 实际上会将 cookie 发送到服务器,但是打开的弹出窗口会在身份验证后关闭整个应用程序(而不是弹出窗口),必须手动重新打开
3) 更改各种 WebView 属性和设置无济于事。
最佳答案
在深入研究我的问题后,我发现 InAppBrowser 使用普通的 webview,而我的应用程序使用 Crosswalk webview 运行,因此两者脱节。
我暂时通过删除 Crosswalk 解决了这个问题。
如果有人好奇的话,我的项目使用的是 Ionic#1.3.11 w/Ionic Crosswalk 浏览器。
如果有人对 Crosswalk 中的 cookie 问题有任何建议或解决方法,我们将不胜感激。
关于android - Cordova InAppBrowser 并与 webview 共享 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28643255/