当应用程序被杀死时,Cordova inappbrowser cookie

时间:2015-06-11 15:02:26

标签: cordova cookies inappbrowser

在我的Cordova应用程序中,我尝试使用inappbrowser打开一个链接。 此链接指向访问该页面之前需要进行Google身份验证的域。如果我再次尝试打开链接,域名不需要再次进行身份验证,会话就可以了,这很有效。

我的问题发生在我杀死应用程序时。如果我想再次访问该链接,Google会要求我再次进行身份验证。而且我不想这样做。

有没有办法保存inappbrowser插件的cookie?

先谢谢!

2 个答案:

答案 0 :(得分:2)

这只是我想分享的想法(从未测试过):

来自documentation

var ref = window.open(url, target, options);
  • 选项

clearcache :设置为,以便在打开新窗口之前清除浏览器的Cookie缓存< / em>的

clearsessioncache :设置为yes以在打开新窗口之前清除会话Cookie缓存

我认为值得尝试使用这些选项,看看会发生什么。

答案 1 :(得分:2)

我遇到了同样的问题(在Android上),并意识到我正在使用的库(ngCordova / cordovaOauth)正在删除缓存和会话数据(使用public List<ChildObj> getChildren(ParentObj obj) { return parentObjService.findAllFor(obj); }

所以它现在有效:我记住了我使用的登录信息,而且我不必再次重新输入密码。所以cookie肯定会保留,至少在android上。

如果您有兴趣,请参阅ngCordova中的相关代码:

public List<ChildObj> getChildren(ParentObj obj) {
  if (obj == null)
    return new ArrayList<ChildObj>(); // return empty ArrayList to avoid crashing
  else 
    return parentObjService.findAllFor(obj);
}

我根据自己的需要稍微修改了一下。您会在第200行找到原始here(查找window.open(..., ..., 'clearsessioncache=yes,clearcache=yes'))。