我能以某种方式听取用户使用Firefox插件SDK输入的URL吗?

时间:2015-01-26 08:02:47

标签: firefox-addon firefox-addon-sdk

当用户在位置字段中输入网址时,Firefox Add-on SDK是否有办法获取网址?

1 个答案:

答案 0 :(得分:3)

是和否。是的,这是可能的,但不在SDK标准API中。

  1. 您需要枚举顶级浏览器窗口(aka。type navigator:browserchrome://browser/content/browser.xul)。 window/utils::windows()可能会对此有所帮助,但它的缺点是它不会通知您有关新窗口的信息。但是,您可以使用require("chrome")nsIWindowWatcher.registerNotification
  2. 一旦进入浏览器窗口,就可以使用通常的addEventListener DOM API添加常用的键事件监听器。您要查找的browser.xul中的DOM元素为#urlbar
  3. 由于SDK加载项是无重启的,并且您将使用低级API离开托管域,因此您需要在卸载后自行清理,例如:再次删除任何事件侦听器或观察者并恢复您触摸的任何内容。