如何获取网站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的gzip静态压缩方法
Jan 05 Javascript
JQuery AJAX提交中文乱码的解决方案
Jul 02 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
Jan 25 Javascript
cookie的secure属性详解
Apr 08 Javascript
jQuery获取checkboxlist的value值的方法
Sep 27 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
AngularJS入门教程之Cookies读写操作示例
Nov 02 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
Nov 25 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
12个提高JavaScript技能的概念(小结)
May 09 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初学者头疼问题总结
2006/07/08 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php限制ip地址范围的方法
2015/03/31 PHP
一个简单至极的PHP缓存类代码
2015/10/23 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP可变变量学习小结
2015/11/29 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
使用mouse事件实现简单的鼠标经过特效
2015/01/30 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
手把手教你写一个微信小程序(推荐)
2018/10/17 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
[46:02]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第二局
2016/02/28 DOTA
Python 创建子进程模块subprocess详解
2015/04/08 Python
Python的Urllib库的基本使用教程
2015/04/30 Python
Python找出微信上删除你好友的人脚本写法
2018/11/01 Python
使用python画社交网络图实例代码
2019/07/10 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
生产车间主管岗位职责
2013/12/28 职场文书
国企干部对照检查材料
2014/08/22 职场文书
秋收起义观后感
2015/06/11 职场文书
2015国庆节放假通知范文
2015/07/30 职场文书
HTML基础-标签分类(闭合标签,空标签,块级元素,行内元素,行级块元素,可替换元素)
2021/03/31 HTML / CSS
iPhone13将有八大升级
2021/04/15 数码科技