Html favicon到base64在此站点上失败
我编写了一个函数,通过拆分文档的Html favicon到base64在此站点上失败,html,favicon,Html,Favicon,我编写了一个函数,通过拆分文档的标记返回favicon rel=“icon” rel=“快捷方式图标” 函数geticon(站点,cb){ 如果(site.indexOf('http')==-1){site='http://'+site;} $.get(”https://mysite.me/middleman.php“,{“站点”:站点}) .始终(功能(d){ 如果(!d){cb('https://mysite.me/R/link.png“,false);} 否则{ d=d.分割(“”)[
标记返回favicon
rel=“icon”
rel=“快捷方式图标”
函数geticon(站点,cb){
如果(site.indexOf('http')==-1){site='http://'+site;}
$.get(”https://mysite.me/middleman.php“,{“站点”:站点})
.始终(功能(d){
如果(!d){cb('https://mysite.me/R/link.png“,false);}
否则{
d=d.分割(“”)[0];
如果(d[i].indexOf('rel=“icon”')!=-1 | | d[i].indexOf('rel=“快捷方式图标”')!=-1){
ico=(d[i].split('href=“”)[1]).split('”)[0];
打破
}}
site=(site.split('/')[1]).split('/')[0];
if(ico.indexOf(site)=-1&&ico.indexOf('http')!=0&&ico.indexOf('/'))!=0){
如果(ico[0]=='/'){ico=site+ico;}
else{ico=site+'/'+ico;}
}
if(ico.indexOf('http')=-1){
如果(ico.indexOf('/')==0{ico='http:'+ico;}
else{ico='http://'+ico;}
}
如果(!ico){cb('https://mysite.me/R/link.png“,false);}
否则{
getimg(ico,函数(b,bool){cb(b,bool);});//返回base64字符串
}}});}
但它无法使用此url:
我查看了url的源代码,但无法识别代码中的favicon,但浏览器选项卡上确实有一个带放大镜的狗的图像
我错过了什么?有多少种方法可以声明favicon?favicon位于W3C的以下方法2中,该方法列出了在网站上包含favicon的两种方法:
如果网站没有指定其中任何一项,浏览器也会请求
/favicon.ico
。考虑在PHP中使用适当的HTML解析,too.这可能是!!如果是这样,我将在回答中更新代码!(新代码将尝试先获取ico,然后再挖掘标签)谢谢!
function geticon(site,cb){
if(site.indexOf('http')==-1){site='http://'+site;}
$.get("https://mysite.me/middleman.php",{"site":site})
.always(function(d){
if(!d){cb('https://mysite.me/R/link.png',false);}
else{
d=d.split('<link ');
var ico='https://mysite.me/R/link.png';
for(var i=0;i<d.length;i+=1){
d[i]=d[i].split('>')[0];
if(d[i].indexOf('rel="icon"')!==-1||d[i].indexOf('rel="shortcut icon"')!==-1){
ico=(d[i].split('href="')[1]).split('"')[0];
break;
}}
site=(site.split('//')[1]).split('/')[0];
if(ico.indexOf(site)==-1&&ico.indexOf('http')!=0&&ico.indexOf('//')!=0){
if(ico[0]=='/'){ico=site+ico;}
else{ico=site+'/'+ico;}
}
if(ico.indexOf('http')==-1){
if(ico.indexOf('//')==0){ico='http:'+ico;}
else{ico='http://'+ico;}
}
if(!ico){cb('https://mysite.me/R/link.png',false);}
else{
getimg(ico,function(b,bool){cb(b,bool);});//returns base64 string
}}});}