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