3

我正在使用 chrome 存储 API 来保存需要在内容脚本页面上访问的数据。当我像这样在扩展设置页面中加载数据时

document.write("chrome.storage.sync.get(\"password\", function(items) {\n");
document.write("var true_password = items.password;\n");
document.write("});\n");

它有效,但相同的代码不适用于内容脚本......

我收到此错误

未捕获的类型错误:无法读取未定义的属性“同步”

知道为什么吗?


编辑

manifest.json
{
"name":"app",
"description":"app...",
"version":"0.1",
"manifest_version":2,
"options_page": "options.html",
"permissions": [ "storage" ],

"content_scripts": [
    {
      "matches": ["https://www.my_page.com/*"],
      "js": ["lock.js"]
    }
  ]
}
4

1 回答 1

3

您直接写入页面 DOM 的任何内容,无论是使用元素document.write还是插入<script>元素,都不再被视为内容脚本。

相反,它在页面自身上下文中的“孤立世界”之外执行。这意味着它无法访问内容脚本 API 或内容脚本中定义的变量/函数。

不过,您仍然可以与页面级代码进行通信

于 2015-03-31T00:16:22.043 回答