【问题标题】:Does chrome extension has it's own document.cookie?chrome 扩展是否有自己的 document.cookie?
【发布时间】:2014-09-15 09:31:02
【问题描述】:
【问题讨论】:
标签:
javascript
google-chrome
cookies
google-chrome-extension
【解决方案1】:
一方面,是的,Chrome 扩展程序中提供了 cookie。但这是一种非常在扩展中存储数据的非正统方法。
正如您正确指出的那样,chrome.cookies API 用于操作其他页面的 cookie。在 JS 中使用 cookie 的常用方式是document.cookie。
存储持久数据的常用方法有哪些?
两种经典方式是localStorage和chrome.storage。
我之前已经回答过它们;请参阅this answer 以了解它们之间的比较,并参阅this answer 以了解用法示例。
要决定您需要什么,最重要的问题是:您需要从内容脚本访问数据吗?
- 如果不是,使用
localStorage 可能更简单。
- 如果是,您将需要使用
chrome.storage 或消息传递。
【解决方案2】:
我会说一句,你会明白的。
Cookie 始终与网站/域相关。
询问 Chrome 扩展程序是否有 cookie 是没有意义的。您可以为每个域设置一个 cookie。
更多信息可帮助您解决问题。如果你看到 chrome 扩展模型,你可以看到有
- 后台脚本
- 内容脚本
- 弹出页面/脚本
如果您想将cookie存储在后台脚本/弹出脚本中,那么您绝对可以做到。但是该 cookie 将保存在后台脚本的域中,这实际上是您的 chrome 扩展 ID。
如果您将 cookie 存储在内容脚本中,那么您将信息存储在属于注入内容脚本的域的 cookie 中。