Javascript 从Google Chrome扩展访问Cookie

Javascript 从Google Chrome扩展访问Cookie,javascript,cookies,google-chrome,Javascript,Cookies,Google Chrome,有没有办法从Chrome扩展访问Cookie? 此代码 document.cookie.length 始终返回-0。更好的是,您可以使用HTML5本地存储: localStorage.setItem("itemid", "hello" ); // write value = localStorage.getItem("itemid"); // read 如果你真的想阅读用户正在观看的任何网站的cookies,正如Dan所写,这是不可能的,因为真正糟糕的事情可能会发生 你能从一个页

有没有办法从Chrome扩展访问Cookie? 此代码

document.cookie.length

始终返回-0。

更好的是,您可以使用HTML5本地存储:

localStorage.setItem("itemid", "hello" );   // write
value = localStorage.getItem("itemid");     // read
如果你真的想阅读用户正在观看的任何网站的cookies,正如Dan所写,这是不可能的,因为真正糟糕的事情可能会发生


你能从一个页面上得到的只是页面DOM内容。

这是我第一次在这个网站上读到真正错误的东西。 从扩展中获取实际的文档cookie确实是可能的

您只需要在清单中包含以下两项内容:

"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["cookie_handler.js"]
    }
  ],
  "permissions": [
    "tabs",
    "http://*/*",
    "https://*/*"
  ],
"permissions": [
  "cookies",
  "*://*.example.com/*"
]
cookie_handler.js将在每个加载程序页面/frame/iframe的相同上下文中执行。 试着在这里写一行:

alert(document.cookie);

你会看到:)

我写了一篇关于如何进行的帖子,还解释了如何将cookie信息输入到你的背景脚本中


如果您希望在用户不必访问该网站的情况下操作cookie信息(对FireFox之类的网站很有用),那么您目前运气不佳。不过看起来谷歌正在努力:他们最近在实验API中添加了一个相对完整的cookie处理程序:

希望这将很快升级到支持的API。

目前在扩展中获取站点cookie的最佳(最简单)方法如下:

chrome.cookies.get({ url: 'http://example.com', name: 'somename' },
  function (cookie) {
    if (cookie) {
      console.log(cookie.value);
    }
    else {
      console.log('Can\'t get cookie! Check the name!');
    }
});
因此,现在您不需要为此使用内容脚本,但别忘了将权限包括到清单中:

"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["cookie_handler.js"]
    }
  ],
  "permissions": [
    "tabs",
    "http://*/*",
    "https://*/*"
  ],
"permissions": [
  "cookies",
  "*://*.example.com/*"
]

你想偷cookies吗?这是否意味着可以从Firefox中创建类似Permit cookies的扩展?该扩展允许每个站点的用户始终允许、允许会话、阻止和删除。或者这样的扩展不能用于Chrome?它会给出错误:
无法为内容脚本加载javascript cookie\u handler.js
@MuhammadAdeelZahid您需要在那里编写cookie处理程序脚本:PNow我们应该使用
Chrome.storage.local
。不管怎么说,这是5年前的一次安瑟。这对我来说很有效。值得一提的是,您需要将此代码放在后台脚本中。post不再可用:/