【问题标题】:How to keep cookies with webview-based Chrome Hosted App如何使用基于 webview 的 Chrome 托管应用程序保留 cookie
【发布时间】:2014-05-15 17:04:55
【问题描述】:

我刚刚构建了我的第一个 Chrome 应用 (https://chrome.google.com/webstore/detail/gitter/ldhcdmnhbafhckhidlhdbeekpifobpdc),但遇到了 cookie 问题。

该应用程序有效地在一个窗口中启动一个 index.html 页面,该页面有一个指向我们常规 Web 应用程序的 web 视图。

如果我在 Mac 上退出 Chrome,每次启动 Gitter Chrome 应用程序时,所有 cookie 似乎都已被清除,因此我必须再次登录(并再次登录 GitHub)。

我不太清楚从哪里开始寻找,如果有人有任何指示,我将不胜感激。

PS。我已经检查了这个问题和答案 (chrome Extension : Set persistent cookie in chrome extension?),据我所知,我的问题与未过期的 cookie 无关,因为我们确实为 cookie 设置了过期时间。

我的清单如下所示:

{
   "app": {
      "background": {
         "scripts": [ "launch.js" ]
      }
   },
   "description": "Chat for GitHub.",
   "icons": {
      "128": "icon-128.png",
      "16": "icon-16.png"
   },
   "manifest_version": 2,
   "name": "Gitter",
   "short_name": "Gitter",
   "offline_enabled": true,
   "permissions": [
    "unlimitedStorage",
    "notifications",
    "webview",
    "http://*/*"
  ],
   "version": "1.0.0.3"
}

它启动到一个窗口的页面基本上是这样做的:

<webview id="wv1" style="width:100%; height:100%;"
  src="https://gitter.im/">
</webview>

【问题讨论】:

    标签: google-chrome-app


    【解决方案1】:

    我认为您需要在 webview 标记中添加一个 partition 属性,其值以 persist: 开头

    分区

    webview 标签使用的存储分区 ID。如果存储分区 ID 以persist: (partition="persist:googlepluswidgets") 开头,webview 将使用应用程序中具有相同存储分区 ID 的所有来宾都可用的持久存储分区。如果 ID 未设置或没有 persist: 前缀,webview 将使用内存中的存储分区。

    【讨论】:

    • 谢谢,没想到它是 webview 属性。像魅力一样工作。
    猜你喜欢
    • 2018-01-26
    • 2015-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    相关资源
    最近更新 更多