带有chrome扩展名的cookie或localStorage

时间:2010-08-30 07:41:16

标签: cookies google-chrome local-storage

我已经阅读了有关该主题的所有其他问题,但无法解决我的问题 我在我的网站上设置了localStorage中用户的电子邮件,我想在扩展中检索它。

localStorage.setItem("user", "andrei.br92@gmail.com" ); 

但是当我尝试使用chrome扩展程序接收它时,它无法执行此操作

value = localStorage.getItem("user");

哪种方式更容易? cookies localstorage?我不是自命不凡

4 个答案:

答案 0 :(得分:6)

请看这个:

http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

内容脚本在单独的JavaScript世界中运行,这意味着内容脚本localStorage与网站localStorage不同。两者共享的唯一内容是DOM,因此您需要使用DOM节点/事件进行通信。

答案 1 :(得分:4)

使用chrome.storage.local代替localstorage。使用chrome.storage的内容脚本会看到扩展程序页面看到的内容。更多https://developer.chrome.com/extensions/storage.html

答案 2 :(得分:2)

请参阅Chrome content scripts上的信息。我打赌你陷入了我所做的同一个初始陷阱 - 尝试从页面注入的脚本中读取localStorage,是吗?

答案 3 :(得分:1)

当localstorage可以执行时,您不想使用cookie。那是因为

  • Cookie只能通过后台页面进行访问/修改。
  • Cookie存储在网址/域的上下文中,而不是扩展名。因此,您必须为您希望操作的每个域存储一个cookie。
  • 对于每个HttpRequest,与相应url / domain关联的所有cookie都会传输到服务器,因此实际上会增加用户请求的开销。)