如何获取网站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 相关文章推荐
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 Javascript
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
利用函数的惰性载入提高javascript代码执行效率
May 05 Javascript
使用jQuery获得内容以及内容的属性
Feb 26 Javascript
js动态生成Html元素实现Post操作(createElement)
Sep 14 Javascript
JavaScript数据类型学习笔记
Jan 25 Javascript
JavaScript 消息框效果【实现代码】
Apr 27 Javascript
node.js利用redis数据库缓存数据的方法
Mar 01 Javascript
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
js实现unicode码字符串与utf8字节数据互转详解
Mar 21 Javascript
JS使用正则表达式实现常用的表单验证功能分析
Apr 30 Javascript
react中useState使用:如何实现在当前表格直接更改数据
Aug 05 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学习笔记 数组遍历实现代码
2011/06/09 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
使用PHP Socket 编程模拟Http post和get请求
2014/11/25 PHP
php实现用于删除整个目录的递归函数
2015/03/16 PHP
YII框架常用技巧总结
2019/04/27 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
2010/01/22 Javascript
TBCompressor js代码压缩
2011/01/05 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
jquery实现鼠标滑过小图时显示大图的方法
2015/01/14 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
javascript中使用正则表达式清理table样式的代码
2020/04/01 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
vue学习笔记之指令v-text &amp;&amp; v-html &amp;&amp; v-bind详解
2017/05/12 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
js中获取URL参数的共用方法getRequest()方法实例详解
2018/10/24 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
javascript实现计算器功能
2020/03/30 Javascript
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
python实现二分查找算法
2017/09/21 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
Python线上环境使用日志的及配置文件
2019/07/28 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
利用python实现周期财务统计可视化
2019/08/25 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
css3 中的新特性加强记忆详解
2016/04/16 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
咖啡店创业计划书
2014/08/15 职场文书
车间统计员岗位职责
2015/04/14 职场文书
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers