加载特定网址时,将事件添加到Firefox

时间:2011-06-08 09:07:41

标签: javascript url firefox-addon

我想编写一个扩展,在加载特定URL时为页面添加div元素(例如,当url为http://www....&q=car&aq时,我想添加一个包含“car”的div元素到网页)

我已经在使用addEventListener检查选项卡是否已打开,但我不知道如何为特定的URL执行此操作。

p.s我不是要求你们做我的家庭作业,只是一些指向这种技巧或基本例子的教程的链接d.s

2 个答案:

答案 0 :(得分:1)

您可以使用命令window.location获取网址,以便您可以执行类似

的操作
if (window.location.indexof("http://www.yoururl.com") != -1 && !$.browser.msie)
{
    //add a div to the dom here.

}

这一行!$。browser.msie实际上是jquery,并且可能无法编译,因为你不包括jquery库,它基本上检查浏览器版本是不是IE。

您可以删除此部分 - && !$。browser.msie - 如果你没有使用jquery。

答案 1 :(得分:1)

GreaseMonkey创建用户脚本可能会更容易。有大量文档(例如在GreaseMonkey wiki中)以及许多现有用户脚本可供userscripts.org查看。脚本可以“编译”为常规扩展(请参阅User Script Compiler)。

如果你想坚持真正的扩展,那么你可能想要register a progress listener。这样,您就可以知道标签的位置何时发生变化:

onLocationChange: function(aBrowser, webProgress, request, location)
{
    if (location.host == "example.com")
        doSomething(aBrowser.contentDocument);
}