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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firefox扩展程序,用于创建新图标或替换位置/地址栏中的现有图标相关的知识,希望对你有一定的参考价值。

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

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

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

可以这样做吗?

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

答案

你可以使用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]);
    }
}

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

有一个project to create a standard object for favicon manipulation应该工作,但不适合我。

另一答案

你可以改变DOM创建一个这样的链接元素:

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

以上是关于Firefox扩展程序,用于创建新图标或替换位置/地址栏中的现有图标的主要内容,如果未能解决你的问题,请参考以下文章

用自己的图标替换 Google Material 图标,保持相同的内容代码或创建新的

即使更新应用程序图标,共享扩展程序的应用程序图标也不会在设备中更新

iOS 扩展:无法更改图标

根据当前选项卡显示或隐藏扩展图标

Google Chrome 扩展程序 - 单击工具栏图标时打开新选项卡

如何修改程序的图标(.exe后缀的)不是快捷方式的哦!