如何获取网站icon有哪些可行的方法

 更新时间:2014年06月05日 17:05:47   作者:  
获取网站icon,常用最简单的方法就是通过website/favicon.ico来获取,还可以通过google提供的服务来实现,下面有个示例
获取网站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>

源代码下载

相关文章

  • js 中的switch表达式使用示例

    js 中的switch表达式使用示例

    switch 这种表达式在很多语言中都有,比如java, C等待, 使用switch比使用if else 来得方便,来得清晰,下面为大家详细介绍下其具体的使用,感兴趣的朋友可以参考下
    2013-09-09
  • JS动态添加选项案例分析

    JS动态添加选项案例分析

    这篇文章主要介绍了JS动态添加选项的方法,结合实例形式分析了javascript针对页面元素动态操作的相关技巧,需要的朋友可以参考下
    2016-10-10
  • postMessage的两种使用方式

    postMessage的两种使用方式

    这篇文章主要介绍了使用postMessage实现iframe跨域通信,第一种使用postMessage在irfame中实现跨域数据传递,第二种使用postMessage在window.open()中的使用,本文结合示例代码给大家详细讲解,需要的朋友跟随小编一起看看吧
    2022-03-03
  • 使用flow来规范javascript的变量类型

    使用flow来规范javascript的变量类型

    这篇文章主要介绍了使用flow来规范javascript的变量类型,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • js删除局部变量的实现方法

    js删除局部变量的实现方法

    下面小编就为大家带来一篇js删除局部变量的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 微信小程序Page中data数据操作和函数调用方法

    微信小程序Page中data数据操作和函数调用方法

    这篇文章主要介绍了微信小程序Page中data数据操作和函数调用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • asp.net下利用js实现返回上一页的实现方法小集

    asp.net下利用js实现返回上一页的实现方法小集

    其实要实现这个功能主要还是要用到javascript
    2009-11-11
  • javascript客户端解决方案 缓存提供程序

    javascript客户端解决方案 缓存提供程序

    这是介绍的是一个不错的javascript的方面的客户端解决方案,可选配支持HTML5本地存储器.
    2010-07-07
  • JS中的Replace方法使用经验分享

    JS中的Replace方法使用经验分享

    本文给大家分享的是我们在使用javascript中的replace方法的时候需要注意的一个事项,我就是没有注意到,才被这个bug烦了好久,这里记录下来,有需要的小伙伴可以参考下。
    2015-05-05
  • JS实现基数排序的示例代码

    JS实现基数排序的示例代码

    基数排序是一种根据数字位数的值,对整数进行排序的算法,本文主要介绍了JS实现基数排序的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-12-12

最新评论