【问题标题】:How to get text from Address Bar in Firefox extension如何从 Firefox 扩展中的地址栏获取文本
【发布时间】:2011-04-15 03:52:41
【问题描述】:

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

【问题讨论】:

  • 感谢马塞尔的帮助。我已经检查了这些链接,在这里没有找到我想要的。如果您发现任何东西,请继续发布:)
  • @Marcel,该评论确实应该算作一个答案。如果您将其作为答案,则可以对其进行投票,并且该问题将从“未回答”列表中删除,这是应该的。
  • @LarsH:我不相信,因为我只提供了一半的答案,方向可能不会导致成功。但我会回答它,所以更容易评论我的建议。
  • 我也是 XUL 的新手。我从一些博客中了解到,最好的办法是解压缩 browser.jar 文件并检查 browser.xul 文件。检查地址栏的操作处理程序并查看它们如何捕获文本。没有太多答案,但希望是一个指针:-)

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


【解决方案1】:

正如this question 的回答所说,在谷歌浏览器中似乎不可能。

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

本人对 Firefox 扩展没有任何经验,希望对能给出更准确解释的人有所帮助。

【讨论】:

    【解决方案2】:

    我认为您需要劫持 url 栏的“ontextentered”事件。 我假设您想要即将推出的 Firefox 4,所以请看:

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

    您也可以向“urlbar”添加按键侦听器以获取输入的文本。

    例如:

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 1970-01-01
      • 2019-01-15
      • 2016-02-18
      • 2010-11-08
      相关资源
      最近更新 更多