我有几个使用多个内容脚本的扩展。通过清单添加这些意味着它们在首次安装扩展程序时不可用(用户必须先刷新内容页面),因此扩展程序似乎不起作用,用户卸载它!
尝试了很多方法,但找不到注入多个 javascript 文件的方法。有没有人找到这样做的方法,或者提醒用户在运行扩展程序之前需要刷新事实页面?
谢谢
我有几个使用多个内容脚本的扩展。通过清单添加这些意味着它们在首次安装扩展程序时不可用(用户必须先刷新内容页面),因此扩展程序似乎不起作用,用户卸载它!
尝试了很多方法,但找不到注入多个 javascript 文件的方法。有没有人找到这样做的方法,或者提醒用户在运行扩展程序之前需要刷新事实页面?
谢谢
无需刷新页面,chrome.tabs.executeScript
用于注入所有旧页面。
检查示例实现的工作版本。
注册后台页面并授予 Chrome 扩展程序的所有权限。
{
"name": "Inject Code",
"description": "http://stackoverflow.com/questions/14727263/inject-multiple-content-scripts",
"manifest_version": 2,
"version": "1",
"permissions": [
"<all_urls>",
"tabs"
],
"background": {
"scripts": [
"background.js"
]
}
}
使用查询 API 注入代码
document.addEventListener("DOMContentLoaded", function () {
//Fetch all inactive completly loaded tabs or use your own query
chrome.tabs.query({
active: false,
"status": "complete"
}, function (tabs) {
for (tab in tabs) { //It returns array of tabs
chrome.tabs.executeScript(tabs[tab].id, {
"file": "inject.js" //Inject Code
});
}
});
});
console.log("Injected..");
您会看到注入脚本而无需刷新页面。
您使用动态脚本注入,请参阅