gpt4 book ai didi

javascript - chrome.webRequest.onBeforeRequest.addListener 无法读取未定义的属性 'onBeforeRequest'

转载 作者:搜寻专家 更新时间:2023-11-01 04:35:58 26 4
gpt4 key购买 nike

我正在尝试构建自己的 chrome 扩展程序,并尝试使用 onBeforeRequest 添加事件处理程序。

我的manifest.json:

{
"manifest_version": 2,

"name": "My extension",
"description": "some descrpition",
"version": "1.0",
"permissions": [
"activeTab",
"tabs",
"webRequest",
"webNavigation",
"management",
"http://*/*",
"https://*/*"
],
"background": {
"scripts": [
"js/jquery-2.1.4.min.js",
"js/background.js"
],
"persistent": true
},
"browser_action": {
"default_icon": "imgs/img.png",
"default_title": "extension"
},
"icons" : {
"64" : "imgs/vergrootglas.png"
}
}

我的background.js:

function callback(param1,param2,param3){
alert(param1);
alert(param2);
alert(param3);
}
//alert("test");



chrome.webRequest.onBeforeRequest.addListener(callback);

我将其加载到我的 chrome 中。但每次我在控制台中收到此消息时:

Uncaught TypeError: Cannot read property 'onBeforeRequest' of undefined

我不知道我做错了什么,我发现了这个: https://developer.chrome.com/extensions/webRequest

但是代码的例子好像和我做的差不多。我在这里缺少什么?

最佳答案

上面的评论对我来说没有意义。上面有一个后台脚本,它似乎有适当的权限......一些额外的评论可能会有所帮助......

您需要在 list 文件中添加一个后台页面,并在 list 文件中添加适当的权限,以便后台页面可以访问 webRequest API。请参阅此示例:chrome.webRequest not working?

正如 Mihai 提到的,如果您需要让内容脚本执行操作,请查看此页面:https://developer.chrome.com/extensions/messaging

将此添加到您的内容脚本(您可以将问候语更改为 Action ,将问候语更改为后台脚本应执行的 Action ):

chrome.runtime.sendMessage({greeting: "hello"}, function(response) {
console.log(response.farewell);
});

将此添加到您的后台页面(您可以执行 if 语句并根据消息执行不同的操作):

chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
console.log(sender.tab ?
"from a content script:" + sender.tab.url :
"from the extension");
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
});

关于javascript - chrome.webRequest.onBeforeRequest.addListener 无法读取未定义的属性 'onBeforeRequest',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33650262/

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