如何获取网站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基本语法分析说明
Jun 15 Javascript
Jquery 基础学习笔记之文档处理
May 29 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
基于jquery的关于动态创建DOM元素的问题
Dec 24 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
Feb 28 Javascript
jquery实现表格隔行换色效果
Nov 19 Javascript
js实现文字跑马灯效果
Feb 23 Javascript
vue内置指令详解
Apr 03 Javascript
JS中的算法与数据结构之集合(Set)实例详解
Aug 20 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
Sep 21 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
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之XML转数组函数的详解
2013/06/07 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
浅谈php7的重大新特性
2015/10/23 PHP
PHP基于XMLWriter操作xml的方法分析
2017/07/17 PHP
总结一些js自定义的函数
2006/08/05 Javascript
映彩衣的js随笔(js图片切换效果)
2011/07/31 Javascript
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
javascript中[]和{}对象使用介绍
2013/03/20 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
javascript中apply/call和bind的使用
2017/02/15 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
js replace 全局替换的操作方法
2018/06/12 Javascript
JavaScript字符串转数字的5种方法及遇到的坑
2018/07/16 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
nuxt 页面路由配置,主页轮播组件开发操作
2020/11/05 Javascript
[01:43]倾听DOTA2英雄之声 魅惑魔女国服配音鉴赏
2013/06/06 DOTA
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
编写Python爬虫抓取暴走漫画上gif图片的实例分享
2016/04/20 Python
Python基于回溯法子集树模板解决选排问题示例
2017/09/07 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
HTML5 Web存储方式的localStorage和sessionStorage进行数据本地存储案例应用
2012/12/09 HTML / CSS
德国家具在线:Fashion For Home
2017/03/11 全球购物
Lookfantastic日本官网:英国知名护肤、化妆品和头发护理购物网站
2018/04/21 全球购物
为什么要使用servlet
2016/01/17 面试题
文秘应聘自荐书范文
2014/02/18 职场文书
学校三八妇女节活动情况总结
2014/03/09 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
Python函数中的不定长参数相关知识总结
2021/06/24 Python