- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试构建自己的 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/
我是 JavaFX 的新手,我需要绑定(bind) Label 的可见属性,如果它表示的值达到 0,Label > 应该是不可见的。此外,当有界 integerProperty 值发生变化时,它也需要
过去,我还使用了一个调整大小监听器,将 requestAnimationFrame 与它捆绑在一起,作为轮询调整大小事件的某种优化版本: /** * Resize listener * @retu
尝试此操作时出现错误“.addListener 不是函数”: if(document.getElementById("id")){ document.getElementById("id").a
我正在尝试制作 chrome 扩展,但我无法运行我的代码。 这是 list { "name": "My First Extension", "version": "1.0", "d
我正在尝试在行和数据点之间构建一个事件处理程序。我当前收到错误: TypeError: line.getSelection is not a function. 我不太确定如何添加此功能或者我可能会出
我有一个 Chrome 扩展程序和一个简单的网页一起运行。我向扩展程序发送一条消息,此时扩展程序会执行一些异步操作。下面的代码不起作用,因为 sendMessage 上的回调在我的 promise 解
我正在尝试重现 Google map 的 addListener,但使用用于点击、按键等的 jQuery 监听器除外。 在 Moogle map 中,您可以编写 .event.addListener(
我尝试为 ListView 生成一个监听器,该监听器获取存储在所选项目中的字符串,获取它的整数,然后调用一个方法。然而我不断收到 Error:(37, 67) java: no suitable me
我在一个项目中使用谷歌地图,我想在 map 上显示一些可点击的标记,每个标记都显示一个包含不同数据的 Div,所以我通过从数据库中获取数据来开始我的代码并工作好吧,然后我像这样在 map 上显示它:
我的问题如下:GEvent.addListener(map, "click"function(){...}) 在回调函数中返回了什么?我根本没有在 GMaps 引用中找到任何信息,你能给我一些吗?我唯
我正在开发一个需要对不同的自定义事件和监听器使用react的程序。 我试图使用泛型来缩短它,事实是,我不明白我的错误在哪里。 这是我的代码: 听众和事件: public interface MyFir
我相信这个问题之前已经有人问过,但似乎我有点倒霉才找到它。我的问题是如何在过程中间启用按钮/ Actor 的 addListener?例如,在 Activity 屏幕之间的 Assets 加载屏幕上(
我有可变数量的文本字段,我正在动态初始化 Google map 自动完成功能。 问题是每次触发 place_changed 事件时,我都需要确切地知道它是在哪个输入框上触发的。如何将此数据传递到我的
我正在使用如下 JavaScript 函数:- function fileSelectHandler(e) { fileDragHover(e); // some more code
在下面的 HTML 代码中,我希望在 map 更改(例如缩放、拖动、单击)时收到警报。 该警报将来将更改为在拖动、缩放或单击时显示 Angular 坐标。然后,“获取 Angular 落”按钮将被省略
我希望能够从内容脚本(任何选项卡)与后台进行通信。 根据文档,我应该使用 chrome.extension chrome.runtime.onMessage与chrome.runtime.sendMe
我有一个单独的谷歌地图v3代码。只是为了当我点击它时在我的 google fusion kml 层中显示 infowindow 信息框。昨天我的代码工作正常。我没有做任何改变。但今天我的 addLis
这个问题已经有答案了: JavaScript closure inside loops – simple practical example (45 个回答) 已关闭 6 年前。 这是我的代码: fu
我知道在类组件中我们以这种方式使用 addListener: const Animated.Value= new Animated.Value(0); Animated.Value.addListen
我正在尝试测试我的 Ant 申请 react 测试库 ,但我不断收到此错误: TypeError: Cannot read property 'addListener' of undefined 我使
我是一名优秀的程序员,十分优秀!