如何获取网站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 输入框数字限制插件
Nov 10 Javascript
输入密码检测大写是否锁定js实现代码
Dec 03 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
JavaScript定义类和对象的方法
Nov 26 Javascript
AngularJS入门教程之Hello World!
Dec 06 Javascript
js实现页面跳转的几种方法小结
May 16 Javascript
微信小程序 UI布局常用技巧整理总结
Dec 05 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
详解vue 路由跳转四种方式 (带参数)
Apr 28 Javascript
JS使用H5实现图片预览功能
Sep 30 Javascript
node.js 微信开发之定时获取access_token
Feb 07 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 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
BBS(php &amp; mysql)完整版(八)
2006/10/09 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
xtree.js 代码
2007/03/13 Javascript
JS解密入门 最终变量劫持
2008/06/25 Javascript
jquery.validate使用攻略 第五步 正则验证
2010/07/01 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
解析Javascript小括号“()”的多义性
2013/12/03 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
在web中js实现类似excel的表格控件
2016/09/01 Javascript
使用jquery datatable和bootsrap创建表格实例代码
2017/03/17 Javascript
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
BootStrap表单控件之复选框checkbox和单选择按钮radio
2017/05/23 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python 爬虫图片简单实现
2017/06/01 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
关于python中导入文件到list的问题
2020/10/31 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
美国内衣品牌:Leonisa
2016/08/14 全球购物
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
写自荐信的注意事项
2014/03/09 职场文书
婚庆司仪主持词
2014/03/15 职场文书
投资合作协议书
2014/04/17 职场文书
党支部创先争优活动总结
2014/08/28 职场文书
感谢师恩主题班会
2015/08/17 职场文书
某药房的新员工入职告知书!
2019/07/15 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫