Dan*_*ima 1 javascript google-chrome google-chrome-extension
我正在尝试一个简单的 Chrome 扩展示例,它应该能让我将任何打开的 youtube 标签的背景颜色更改为红色。我注意到的是,只有当我在实际页面上时,页面的背景才会变成红色,即它是活动选项卡。
代码:
function getYouTubeTabs() {
queryInfo = {
'url': '*://www.youtube.com/*'
};
chrome.tabs.query(queryInfo, function (result) {
for (i = 0; i < result.length; i++) {
chrome.tabs.executeScript(result[i].id, {
code: 'document.body.style.backgroundColor="red"'
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码,我可能遗漏了一些东西。不确定是否可以在“非活动”选项卡上使用 executeScript。提前致谢。
编辑
清单文件
{
"manifest_version": 2,
"name": "First menu item",
"description": "Testing Context Menus",
"version": "1.0",
"permissions": [
"contextMenus", "tabs", "activeTab"
],
"icons": {
"16": "myicon.png",
"128": "myicon2.png"
},
"background": {
"scripts": ["background.js"]
}
}
Run Code Online (Sandbox Code Playgroud)
该activeTab许可,允许你叫tabs.executeScript或tabs.insertCSS该选项卡上。
相反,为了能够以编程方式将代码注入到非活动选项卡中,除了tabs权限之外,您的扩展程序还必须具有页面的跨域权限。
因此,您需要permissions像这样修改清单的部分:
"permissions": [
...
"*://www.youtube.com/*"
],
Run Code Online (Sandbox Code Playgroud)
"persistent": false在该background部分中添加也应该可以正常工作(并且是首选方式)。
| 归档时间: |
|
| 查看次数: |
2940 次 |
| 最近记录: |