如何获取网站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 相关文章推荐
jQuery 幻灯片插件(带缩略图功能)
Jan 24 Javascript
深入领悟JavaScript中的面向对象
Nov 18 Javascript
js修改原型的属性使用介绍
Jan 26 Javascript
jQuery定义背景动态切换效果的方法
Mar 23 Javascript
Css3制作变形与动画效果
Jul 24 Javascript
JavaScript常用数组算法小结
Feb 13 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
Aug 18 Javascript
浅谈jquery选择器 :first与:first-child的区别
Nov 20 Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 Javascript
详解关于element级联选择器数据回显问题
Feb 20 Javascript
js实现简单点赞操作
Mar 17 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
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 define()函数以及defined()函数的用法详解
2013/06/05 PHP
php操作xml
2013/10/27 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
JavaScript使用cookie
2007/02/02 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
$.getJSON在IE下失效的原因分析及解决方法
2013/06/16 Javascript
javascript实现浏览器窗口传递参数的方法
2014/09/03 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
详解nodejs微信公众号开发——1.接入微信公众号
2017/04/10 NodeJs
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
iView-admin 动态路由问题的解决方法
2018/10/03 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
简单介绍Python中的round()方法
2015/05/15 Python
全面解析Python的While循环语句的使用方法
2015/10/13 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
用Python解决x的n次方问题
2019/02/08 Python
Python实现最大子序和的方法示例
2019/07/05 Python
python之生成多层json结构的实现
2020/02/27 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
学期研究性学习个人的自我评价
2014/01/09 职场文书
小学新教师培训方案
2014/02/03 职场文书
公司口号大全
2014/06/11 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
秋菊打官司观后感
2015/06/03 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
pytorch显存一直变大的解决方案
2021/04/08 Python