我正在尝试将 Google 收件箱“固定”页面上的图标更改为图钉。所以我一眼就知道哪个选项卡是哪个。
我知道可能有一些扩展可以做到这一点,但我正在学习 Javascript 并且正在尝试自己动手。我设法使用“url.indexOf”命令更改其他网站图标,但收件箱固定页面不会更改 URL。所以我想我会编写 Javascript 来查找“固定”一词,然后在找到时对 Favicon 进行更改。这是我的:
favico = function() {
this.is_changed = 0;
this.retry = 1000;
this.timerFindButtons = null;
this.list = [
"foo",
"bar"
];
}
favico.prototype.init = function(){
setTimeout(this.looping.bind(this), this.retry);
}
favico.prototype.looping = function(){
var head = document.getElementsByTagName('head')[0];
var links = head.querySelectorAll('link');
var eles = document.querySelectorAll("div");
for(var ii=0;ii<eles.length;ii++){
var foo = eles[ii].getAttribute('jstcache');
if(foo != null && foo.indexOf('1683') != -1){
var bar = eles[ii].innerText;
if(bar.indexOf('Pinned') != -1){
links[0].setAttribute('href', 'data:image/x-icon;base64,...');
this.is_changed = 1;}
else {
this.is_changed = 0;
links[0].setAttribute('href', '//ssl.gstatic.com/bt/C3341AA7A1A076756462EE2E5CD71C11/ic_product_inbox_16dp_r2_2x.png');}
}
}
setTimeout(this.looping.bind(this), this.retry);
}
var oo = new favico()
oo.init();
我做错了什么?非常感谢任何可以提供帮助的人!
最佳答案
使用此方法动态更改图标
(function() {
var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'http://www.stackoverflow.com/favicon.ico';
document.getElementsByTagName('head')[0].appendChild(link);
}());
Firefox 应该很酷。
关于如果存在某些文本,Javascript 会更改网站的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31260934/