如何从Firefox扩展中的地址栏中获取文本

时间:2010-09-21 11:32:27

标签: javascript browser firefox-addon xul address-bar

我正在构建 Firefox扩展程序。我正在使用 XUL Javascript 来执行此操作。我需要从Firefox浏览器的地址栏中获取文本。 请不要混淆浏览器导航的URL,它只是用户在页面重定向之前输入的文本。假设用户位于http://www.myexample.com或任何页面。现在他在地址栏中键入Cricket,一旦他进入,我想从地址栏中捕获文本(“Cricket”)。我需要这些数据在我的代码中进一步处理。

2 个答案:

答案 0 :(得分:1)

在谷歌浏览器中似乎不可能,因为this question的答案是。

但是使用Firefox,您可以查看几个扩展程序mentioned herethis one,并尝试弄清楚他们是如何做到的。我searched MDC了一点,但没有运气。

我对Firefox扩展没有任何经验,所以我希望这对能够提供更准确解释的人有所帮助。

答案 1 :(得分:0)

我认为你需要劫持网址栏的“ontextentered”事件。 我假设您希望Firefox 4即将到来,请查看:

http://mxr.mozilla.org/mozilla2.0/source/browser/base/content/browser.xul#656

您可以将“按键监听器”添加到“urlbar”以获取输入的文本。

e.g:

document.getElementById("urlbar").setAttribute("ontextentered", "foobar(param);");

function foobar(param) {
       // do somethign w/ param
       // finally call original method if you aren't hijacking the text that was entered
       document.getElementById("urlbar").handleCommand(param);
}