如何获取网站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>

源代码下载

相关文章

  • 两个JavaScript中的特殊值null和undefined详解

    两个JavaScript中的特殊值null和undefined详解

    Null和Undefined是JavaScript中非常基础和重要的概念,理解它们的含义、特点和使用方式对于避免出现错误和编写健壮的应用程序非常重要,这篇文章主要介绍了两个JavaScript中的特殊值null和undefined详解,需要的朋友可以参考下
    2023-06-06
  • MUI顶部选项卡的用法(tab-top-webview-main)详解

    MUI顶部选项卡的用法(tab-top-webview-main)详解

    最近用MUI做手机app应用的时候,遇到的小bug,这里小编给大家分享MUI顶部选项卡的用法(tab-top-webview-main)详解,感兴趣的朋友一起看看吧
    2017-10-10
  • 小程序开发之云函数的使用教程详解

    小程序开发之云函数的使用教程详解

    云函数是部署在云端的函数,他和小程序本地的函数存在很大的区别。本文将通过示例详细为大家介绍如何在小程序开发中使用云函数,需要的可以参考一下
    2022-03-03
  • 解决function函数内的循环变量

    解决function函数内的循环变量

    鼠标放到指定的行上自动弹出当前的个数,从0开始,这个功能方便我们在tab切换中定位
    2008-10-10
  • JS实现让网页背景图片斜向移动的方法

    JS实现让网页背景图片斜向移动的方法

    这篇文章主要介绍了JS实现让网页背景图片斜向移动的方法,涉及javascript操作背景图片特效的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • JavaScript Typescript基础使用教程

    JavaScript Typescript基础使用教程

    TypeScript是Microsoft(微软)开发的一种开源编程语言,它充分利用了JavaScript原有的对象模型,并在此基础上进行了扩充,TypeScript设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何一种JS运行环境中
    2022-12-12
  • JS匿名函数实例分析

    JS匿名函数实例分析

    这篇文章主要介绍了JS匿名函数,结合实例形式分析了javascript匿名函数的定义、参数、返回值等相关使用方法,需要的朋友可以参考下
    2016-11-11
  • JavaScript事件委托原理与用法实例分析

    JavaScript事件委托原理与用法实例分析

    这篇文章主要介绍了JavaScript事件委托原理与用法,结合实例形式较为详细的分析了JavaScript事件流以及事件委托相关原理、用法与操作注意事项,需要的朋友可以参考下
    2018-06-06
  • 原生JS实现非常好看的计数器

    原生JS实现非常好看的计数器

    这篇文章主要为大家详细介绍了原生JS实现非常好看的计数器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Javascript的数组与字典用法与遍历对象的属性技巧

    Javascript的数组与字典用法与遍历对象的属性技巧

    Javascript 的数组Array,既是一个数组,也是一个字典(Dictionary)。先举例看看数组的用法
    2012-11-11

最新评论