如何获取网站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 相关文章推荐
支持ie与FireFox的剪切板操作代码
Sep 28 Javascript
js打印纸函数代码(递归)
Jun 18 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
Jan 21 Javascript
javascript实时获取鼠标坐标值并显示的方法
Apr 30 Javascript
AngularJS中的API(接口)简单实现
Jul 28 Javascript
vue.js入门教程之计算属性
Sep 01 Javascript
BootStrap selectpicker后台动态绑定数据
Jun 01 Javascript
10分钟上手vue-cli 3.0 入门介绍
Apr 04 Javascript
使用vue的transition完成滑动过渡的示例代码
Jun 25 Javascript
微信小程序之 catalog 切换实现解析
Sep 12 Javascript
微信小程序监听用户登录事件的实现方法
Nov 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的FTP学习(二)
2006/10/09 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
Javascript引用指针使用介绍
2012/11/07 Javascript
jQuery写fadeTo示例代码
2014/02/21 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
基于JavaScript代码实现随机漂浮图片广告
2016/01/05 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
Javascript执行流程细节原理解析
2020/05/14 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
python类和函数中使用静态变量的方法
2015/05/09 Python
如何利用Boost.Python实现Python C/C++混合编程详解
2018/11/08 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
简单了解django缓存方式及配置
2019/07/19 Python
python爬虫 基于requests模块的get请求实现详解
2019/08/20 Python
jupyter notebook实现显示行号
2020/04/13 Python
社区学习十八大感想
2014/01/22 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
班训口号大全
2014/06/18 职场文书
2015年社区统计工作总结
2015/04/21 职场文书
Windows server 2016服务器基本设置
2022/08/14 Servers