我有一个在域的多个路径上运行的 chrome 扩展。我试图实现的功能是在进入域(任何路径)时,我调用一个内容脚本(content_script_getdata.js)来解析数据并将其存储在 chrome.storage.local 中。进入后,路径之间的导航不需要调用content_script_getdata.js。每个路径都有自己的内容脚本,该脚本从 chrome.storage.local 获取并根据数据更新该路径的 UI。
我怎样才能实现这个功能?我想把它放在 background.js 中,但我需要内容脚本的功能。如果数据已在 chrome.storage.local 中设置,我还考虑检查路径的每个内容脚本,如果没有,则通过 jQuery 的 $.getScript() 调用 content_script_getdata.js,但不确定这是否是最好的选项。
编辑:manifest.json(相关部分)
{
"background": {
"scripts": [ "background.js" ],
"persistent": false
},
"permissions": [
"tabs",
"storage"
],
"content_scripts": [
{
"matches": ["http://a.com/b?*"],
"js": ["jquery-3.1.0.min.js", "content_script_b.js"],
"run_at": "document_end"
},
{
"matches": ["http://a.com/c?*"],
"js": ["jquery-3.1.0.min.js", "content_script_c.js"],
"run_at": "document_end"
},
{
"matches": ["http://a.com/d?*"],
"js": ["jquery-3.1.0.min.js", "content_script_d.js"],
"run_at": "document_end"
}
}