gpt4 book ai didi

javascript - Chrome扩展注入(inject)js

转载 作者:行者123 更新时间:2023-12-03 12:11:52 24 4
gpt4 key购买 nike

我想创建一个新的 Chrome 扩展,但它不起作用。我想在网页中注入(inject)一个js文件(所有网页,不仅仅是一个。如果我在google上推送chrome图标,脚本必须执行,如果我在facebook上推送图标,它必须执行等。)

这是background.js

chrome.browserAction.onClicked.addListener(function(tab) {

chrome.tabs.executeScript({

null,{file: "backgrounds.js"} });
});

这是backgrounds.js

document.body.innerHTML="display div elem with style and id";

这是manifest.json

{
"name": "MyExt",
"description": "an extension,what else?",
"version": "1.0",
"permissions": [
"activeTab"


],
"content_scripts": [
{
"matches": ["http://*/*"],
"js": ["background.js"]
}
],
"browser_action": {
"default_title": "myExt"
},
"manifest_version": 2
}

我错了什么?我使用的是 Windows 8.1 Update 1 和 chrome 最新版本

最佳答案

您的 list 错误:您应该将 background.js 设置为后台脚本:

"background" : { "scripts" : [ "background.js" ] },

并删除“content_scripts”部分。

<小时/>

“activeTab” 权限意味着您无需指定主机权限即可在浏览器操作点击时注入(inject)当前选项卡,因此不需要其他权限。

<小时/>

tabId 参数是可选的,您可以直接删除它而不是传递 null。并且您的调用是错误的(您将两个参数包装在一个对象中)。正确的做法是这样的:

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript({file: "backgrounds.js"});
});

关于javascript - Chrome扩展注入(inject)js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24930057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com