我刚刚构建了我的第一个Chrome应用(https://chrome.google.com/webstore/detail/gitter/ldhcdmnhbafhckhidlhdbeekpifobpdc),我遇到了Cookie问题。
该应用程序有效地在窗口中引导index.html页面,该窗口具有指向我们常规Web应用程序的webview。
如果我在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>
答案 0 :(得分:9)
我认为您需要在webview
代码中添加partition
属性,其值为persist:
分区
webview
标记使用的存储分区ID。如果存储分区ID以persist:
(partition="persist:googlepluswidgets"
)开头,则webview
将使用具有相同存储分区ID的应用中所有guest虚拟机可用的永久存储分区。如果未设置ID或没有persist:
前缀,则webview
将使用内存存储分区。