Typecho友情链接自动获取ICO
本来这文章是要早一点更新的,今天下午趁着不是很忙的时候改了下博客的代码,因为增加了几个经常访问的博客放到链接页面,想着又给那些有反链接的朋友一点自豪感,所以决定给加一个ICO。
操作的方式就是加一个自定义判断,有反链的博客,在链接页面会增加一个class,我定义为getlink,样式如下:
.link_content .getlink{background-position:left;background-repeat:no-repeat;background-size:16px 16px;}
然后就开始用JQ来获取ICO了。
很多人会说,直接使用对方网站的ICO地址不就好吗?是的,这是一个方法,但这个方法容易将页面拖死,打开一个页面,发出这个多个不同的请求,个别网站可能在海外(有可能比较慢),不拖死就是怪事。
那么我使用的另外一个方法,使用第三方来获取ICO(由于Google被墙,使用不了,这里使用的是http://g.soz.im/),一个我认为非常流弊的网站。
先上代码,再慢慢解释:
if($(".link_content").size()>0){
$(".link_content>ul>li").each(function(){
var linkclass = $(this).attr("class");
var linkhref = $(this).children("a").attr("href");
if(linkclass == "getlink"){
$(this).css({"background-image":"url(http://g.soz.im/"+linkhref+"cdn.ico?defaulticon=http://g.soz.im/https://itlu.net/cdn.ico)"});
}
});
}
代码说明:
第一行,是为了判断class="link_content"是否存在,若不存在就不执行这一段JQ代码(感觉比用Typecho的页面判断更方便,容易将JS代码放在一起)
第二行就是获取li的所有元素,拿出class="getlink",自定义的参数,若有自定义参数才获取ICO。
$(this).children("a").attr("href");则是当前元素的子元素,含有a的,拿出href的值,将值写入到ico的链接地址。
http://g.soz.im/"+linkhref+"cdn.ico?defaulticon=http://g.soz.im/https://itlu.net/cdn.ico
最后一个参数很明显,默认的就是用我自己的ICO(一般不会出现,奇怪的是坛子哥的博客居然就是获取不到ICO,他有设置了,但图片比较大,不知道是不是这原因)
转载本站原创文章请注明:文章转自 挨踢路,链接: https://itlu.net/articles/2308.html