【问题标题】:Does chrome extension has it's own document.cookie?chrome 扩展是否有自己的 document.cookie?
【发布时间】:2014-09-15 09:31:02
【问题描述】:

我正在编写一个 chrome 扩展程序。我想在浏览器 cookie 中存储一些数据,以便以后使用。 Cookie 是实现这一目标的完美方式。 chrome 扩展是否像所有网站一样有它自己的文档 cookie?

我在做一些研究时得到了这个结果https://developer.chrome.com/extensions/cookies 但它主要讨论 cookie API 和获取其他网站的 cookie,因此是个问题。与使用 cookie 相比,chrome 存储还有什么优势吗?我只需要存储 2/3 键值对。 https://developer.chrome.com/apps/storage

【问题讨论】:

    标签: javascript google-chrome cookies google-chrome-extension


    【解决方案1】:

    一方面,是的,Chrome 扩展程序中提供了 cookie。但这是一种非常在扩展中存储数据的非正统方法。

    正如您正确指出的那样,chrome.cookies API 用于操作其他页面的 cookie。在 JS 中使用 cookie 的常用方式是document.cookie

    存储持久数据的常用方法有哪些?

    两种经典方式是localStoragechrome.storage

    我之前已经回答过它们;请参阅this answer 以了解它们之间的比较,并参阅this answer 以了解用法示例。

    要决定您需要什么,最重要的问题是:您需要从内容脚本访问数据吗?

    • 如果不是,使用localStorage 可能更简单。
    • 如果是,您将需要使用chrome.storage 或消息传递。

    【讨论】:

      【解决方案2】:

      我会说一句,你会明白的。

      Cookie 始终与网站/域相关。

      询问 Chrome 扩展程序是否有 cookie 是没有意义的。您可以为每个域设置一个 cookie。

      更多信息可帮助您解决问题。如果你看到 chrome 扩展模型,你可以看到有

      1. 后台脚本
      2. 内容脚本
      3. 弹出页面/脚本

      如果您想将cookie存储在后台脚本/弹出脚本中,那么您绝对可以做到。但是该 cookie 将保存在后台脚本的域中,这实际上是您的 chrome 扩展 ID。

      如果您将 cookie 存储在内容脚本中,那么您将信息存储在属于注入内容脚本的域的 cookie 中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-30
        相关资源
        最近更新 更多