Google chrome extension 执行chrome.extension.getBackgroundPage()时引发错误

Google chrome extension 执行chrome.extension.getBackgroundPage()时引发错误,google-chrome-extension,Google Chrome Extension,我正在开发我的第一个扩展,并试图创建一个简单的扩展,在页面上注入一个可拖动的div。这很好,但我想在后台页面上保留div的位置(我也在尝试本地存储,但想了解为什么这不起作用) 我不需要按钮,所以没有创建popup.html文件,我相信这是完全可选的。到目前为止,仅仅注入javascript文件显然是有效的 但是,我现在在执行chrome.extension.getBackgroundPage()时遇到以下错误: 未捕获错误:chrome.extension.getBackgroundPage只能

我正在开发我的第一个扩展,并试图创建一个简单的扩展,在页面上注入一个可拖动的div。这很好,但我想在后台页面上保留div的位置(我也在尝试本地存储,但想了解为什么这不起作用)

我不需要按钮,所以没有创建popup.html文件,我相信这是完全可选的。到目前为止,仅仅注入javascript文件显然是有效的

但是,我现在在执行chrome.extension.getBackgroundPage()时遇到以下错误:

未捕获错误:chrome.extension.getBackgroundPage只能在扩展进程中使用。有关更多详细信息,请参阅内容脚本文档

内容脚本文档似乎没有发现我的方法有任何错误:

这是我正在使用的一份经过编辑的清单:

{
"name": "My helper",
"version": "1.0", 
"description": "Tastes great",
"background_page": "background.html",
"content_scripts": [
    {
        "matches":["https://page.of.interest/*"],
        "run_at":"document_idle",
        "js":[ "jquery.js", "jquery-ui-1.8.17.custom.min.js", "my_content_script.js"],
        "css": [ "my_content_script.css" ]
    }
],
"permissions": [
  "background"
] 
}
所以我在“my_content_script.js”中运行这个语句。这不被认为是扩展过程的一部分吗?我只能在popup.html(或其他可能的?)文件上运行此操作吗

如果是这种情况,那么只使用localstorage可能比尝试通过dom与扩展进程通信更容易


尽管我对其中一些概念一无所知,但希望我已经说清楚了。

我不认为文档明确地说你不能使用
chrome.extension.getBackgroundPage()
来自
内容\u脚本
,但由于
内容\u脚本
的权限更倾向于运行该脚本的页面,因此不允许访问该脚本。不过,这些方法有几种

与其他chrome.*API不同,chrome.extension的部分内容可由内容脚本使用:


您必须使用
background\u页面
content\u脚本
进行通信。您必须使用后台.html中的chrome.cookies.get(),然后在内容脚本background.html之间进行通信,以交换cookie数据