如何获取网站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 相关文章推荐
js左侧多级菜单动态的解决方案
Feb 01 Javascript
jquery学习笔记二 实现可编辑的表格
Apr 09 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 Javascript
javascript内存管理详细解析
Nov 11 Javascript
jquery内置验证(validate)使用方法示例(表单验证)
Dec 04 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
Mar 19 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
Feb 21 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
详解Vue3中对VDOM的改进
Apr 23 Javascript
详解vue 组件
Jun 11 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生成随机用户名和密码的实现代码
2013/02/27 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
iOS10推送通知开发教程
2016/09/19 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
使用grappelli为django admin后台添加模板
2014/11/18 Python
Python实现快速多线程ping的方法
2015/07/15 Python
Python排序算法实例代码
2017/08/10 Python
简单了解OpenCV是个什么东西
2017/11/10 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
2018/12/10 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python打开使用的方法
2019/09/30 Python
如何运行带参数的python脚本
2019/11/15 Python
python实现监控阿里云账户余额功能
2019/12/16 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
新年晚会主持词
2014/03/24 职场文书
个人欠款担保书
2014/05/20 职场文书
社区党员公开承诺书
2014/08/30 职场文书
人身损害赔偿协议书范本
2014/09/27 职场文书
党性分析材料格式
2014/12/19 职场文书
作文评语集锦
2014/12/25 职场文书
2015年科室工作总结
2015/04/10 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
MySQL中使用or、in与union all在查询命令下的效率对比
2021/05/26 MySQL
Python学习开发之图形用户界面详解
2021/08/23 Python
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记
JS精髓原型链继承及构造函数继承问题纠正
2022/06/16 Javascript