如何获取网站icon有哪些可行的方法


Posted in Javascript onJune 05, 2014

获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,不过由于很多网站都是在页面里面设置favicon,所以此方法很多情况都不可用。

更好的办法是通过google提供的服务来实现:
http://www.google.com/s2/favicons?domain=http://www.baidu.com

代码:

<!doctype html> 
<html> <head> 
<meta charset="utf-8"> 
<style type="text/css"> 
#input { 
height: 300px; 
padding: 10px 5px; 
line-height: 20px; 
width: 1000px; 
} 
#submit { 
height: 30px; 
text-align: center; 
color: #ffffff; 
line-height: 30px; 
width: 80px; 
background-color: blue; 
margin-top: 20px; 
} 
#result { 
margin-top: 20px; 
} 
#result li { 
height: 40px; 
line-height: 40px; 
float: left; 
margin: 10px 14px; 
} 
</style> 
</head> 
<body> 
<textarea id="input" placeholder="输入多个网址以空格间隔"></textarea> 
<div id="submit">获取icon</div> 
<ul id="result"> 
</ul> 
<script type="text/javascript"> 
var input = document.getElementById("input"); 
var submit = document.getElementById("submit"); 
var result = document.getElementById("result"); 
var val; 
function trim(str) { 
var whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000'; 
for (var i = 0, len = str.length; i < len; i++) { 
if (whitespace.indexOf(str.charAt(i)) === -1) { 
str = str.substring(i); 
break; 
} 
} 
for (i = str.length - 1; i >= 0; i--) { 
if (whitespace.indexOf(str.charAt(i)) === -1) { 
str = str.substring(0, i + 1); 
break; 
} 
} 
return whitespace.indexOf(str.charAt(0)) === -1 ? str : ''; 
} 
function getFavIconUrl(url) { 
var prohost; 
prohost = url.match(/([^:\/?#]+:\/\/)?([^\/@:]+)/i); 
prohost = prohost ? prohost : [true, "http://", document.location.hostname]; 
//补全url 
if (!prohost[1]) { 
prohost[1] = "http://"; 
} 
//抓取ico 
return "http://www.google.com/s2/favicons?domain=" + prohost[1] + prohost[2]; 
} 
submit.onclick = function() { 
val = input.value; 
if (!val) alert("输入为空!"); 
val = val.split(" "); 
val.forEach(function(item) { 
item = trim(item); 
if (!item) return; 
result.innerHTML += "<li>" + item + "<img src='" + getFavIconUrl(item) + "'></li>"; 
}); 
}; 
</script> 
</body> 
</html>

源代码下载
Javascript 相关文章推荐
javascript 日期常用的方法
Nov 11 Javascript
javascript省市级联功能实现方法实例详解
Oct 20 Javascript
js编写当天简单日历效果【实现代码】
May 03 Javascript
Bootstrap源码学习笔记之bootstrap进度条
Dec 24 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
微信小程序 setData的使用方法详解
Apr 20 Javascript
使用ES6语法重构React代码详解
May 09 Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 Javascript
JavaScript阻止表单提交方法(附代码)
Aug 15 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 Javascript
详细聊聊vue中组件的props属性
Nov 02 Vue.js
IE6中链接A的href为javascript协议时不在当前页面跳转
Jun 05 #Javascript
网页右下角弹出窗体实现代码
Jun 05 #Javascript
获取中文字符串的实际长度代码
Jun 05 #Javascript
jQuery文件上传插件Uploadify使用指南
Jun 05 #Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 #Javascript
首页图片漂浮效果示例代码
Jun 05 #Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 #Javascript
You might like
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
PHP+MySQL统计该库中每个表的记录数并按递减顺序排列的方法
2016/02/15 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
PHP实现的DES加密解密封装类完整实例
2017/04/29 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
限制文本字节数js代码
2007/03/06 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
为vue项目自动设置请求状态的配置方法
2019/06/09 Javascript
原生JavaScript实现贪吃蛇游戏
2020/11/04 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
详细解析Python当中的数据类型和变量
2015/04/25 Python
Pthon批量处理将pdb文件生成dssp文件
2015/06/21 Python
python使用tkinter实现简单计算器
2018/01/30 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
安全责任书
2015/01/29 职场文书
奖金申请报告模板
2015/05/15 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
MySQL 分组查询的优化方法
2021/05/12 MySQL