javascript - 如何订阅 add-sdk 上的事件监听器?

标签 javascript firefox firefox-addon firefox-addon-sdk

现在我正在为 firefox 26 开发一个附加组件,我需要知道当我们浏览网页时是否有一个事件一直在监听,即使有脚本正在运行,如果事件有当您到达特定网址时的一种触发器,我该如何使用它? 例如,我想做一些类似于 FoxyProxy 附加组件的事情。 foxyproxy 一直在监听,直到它到达一个 URL,该 URL 重定向到一个端口或其他......我如何订阅该事件,我是新手,请帮助我...... 问候。

最佳答案

您想使用 sdk/system/events/模块。 例如:

let { Cc, Ci } = require("chrome");
let events = require("sdk/system/events");

events.on("http-on-examine-response", afterLoad);

function afterLoad(e) {

    var httpChannel = e.subject.QueryInterface(Ci.nsIHttpChannel); 
    var url = httpChannel.URI.spec;

    // do what you want with the url
    console.log("Loaded: "+url);
}

您可以监听的完整事件列表在这里:https://developer.mozilla.org/en/docs/Observer_Notifications

关于javascript - 如何订阅 add-sdk 上的事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20667528/

相关文章:

javascript - Django/AngularJS : How do I access my Python Context Items from my AngularJS Script

javascript - 使用jspdf将pdf直接保存到文件

html - 为什么 Firefox 在我的 div 上放一个水平滚动条?

javascript - XUL 按钮没有出现

javascript - Phonegap - 更改离线模式的 css 不起作用

javascript - 正确转换 float ?

javascript - Bootstrap 模态表单不在服务器上执行 POST 方法

jQuery .submit() 不会在 Firefox 中发送输入提交

javascript - WebExtensions - 获取全局窗口属性

firefox - 带有附加 SDK 的 Firefox 插件中的更多存储空间