Firefox扩展程序,用于创建新图标或替换位置/地址栏中的现有图标

时间:2009-08-25 17:16:39

标签: javascript firefox firefox-addon greasemonkey favicon

我想创建一个Firefox扩展程序,在地址栏中创建一个新图标,或用扩展名中指定的图标替换现有图标。

然后,添加一些javascript以仅在用户查看特定域时显示此自定义徽标。

如果这对位置/地址栏不可行,则在状态栏上显示徽标即可(再次由仅在用户位于特定域时显示徽标的javascript驱动)。

可以这样做吗?

我认为仅依靠favicon将不会解决我的问题。我希望只有当用户在特定域上时才能显示图标/徽标(例如xyz.com/testPage.html或abc.com/anotherTest.html)

2 个答案:

答案 0 :(得分:1)

您只需使用Greasemonkey即可。在这里你有一个有效的快速脚本。

//create the icon
a=document.createElement("link");
a.setAttribute("rel", "icon");
a.setAttribute("href","http://www.google.com/favicon.ico");

//append the icon to the head
document.documentElement.firstChild.appendChild(a);

Greasemonkey's manual: (Adding scripts)

如果您尝试更改的网站已经有的网站,则必须执行以下操作

// get the head elements
head = document.documentElement.firstElementChild.childNodes;

//delete the existing favicon
for(i in head){
    if((head[i].rel == "shortcut icon")||(head[i].rel == "icon")){
         head.removeChild(head[i]);
    }
}

在设置新的favicon之前,但我无法让它工作。

有一个project to create a standard object for favicon manipulation应该有用,但对我不起作用。

答案 1 :(得分:0)

您可以更改DOM,创建如下链接元素:

<link rel="icon" type="image/png" href="/somepath/image.png" />