甜·咖啡
Software Wordpress || ProE SolidWorks
rss
email
twitter
facebook
  • Funny
  • Google
  • JustPicture
  • media
  • phone
  • Software
  • SolidWorks
  • System
  • Web
  • Wordpress

使用jQuery为非站内超链接添加图标

16条评论 | 753 次浏览
Posted on 2010-01-25 by xiao3

一般我们在写博客的过程中,大多数的文章都会有些外部链接到别的网站。这时若是使用明显的标记提前告知来访者点击链接后会进入到其他网站,对于用户体验提升有些帮助。在很多博客上看到的都是这样的:在外部链接的后面会出现一个小图标,指明是站外链接。在我的博客上,所有导向其他网站的链接都会有对应网站的 favicon 图标显示,这个大家应该都会看得到。

我使用的是 jQuery 的方法,就一句代码的问题。但是有一些地方还需要改进,只能请教各位大神了

<!-- 非本站超链接添加图标 Start -->    
  <script type="text/javascript">    
  jQuery(document).ready(function($){
  $(".post .content a:not([href*=xiao3.info])").each(function(e){
  $(this).prepend("<img src=http://www.google.com/s2/favicons?domain="+this.href.replace
  (/^(http:\/\/[^\/]+).*$/, '$1').replace( 'http://', '' )+"
  style=line-height:16px;padding-right:5px;padding-left:5px;height:16px;vertical-align:middle;>");
  });
  });    
  </script>
<!-- 非本站超链接添加图标 End -->

大家可以看到上面的代码就是通过调用外链网站的 Google 的 favicon 缓存地址来实现的,a:not([href*=xiao3.info])这个的意思是不对含有 xiao3.info 的链接显示图标,因为这个是站内链接。但是缺点也出来了,就是这样调用的话全部的链接都会出现 Favicon 图标,即一些我外链的图片也会有图标出来,这样就会有一些不美观,不知道该如何去除 .gif .png .jpg 的图标,各位老师有知道的能给个解决的方法么?

请各位老师有解决办法的在留言中给个说明。谢谢~

欢迎订阅: Google Reader | 鲜果 | 抓虾 | 九点 | QQ邮箱 | 有道 | 更多...

  Tags: favicon, jQuery Category: Wordpress

16 Comments

  1. 美女小姨子 说:
    2010年01月25日于9:43 下午

    啊做个脚印 我也正等这个答案 :idea:

    回复
  2. 万戈 说:
    2010年01月25日于9:54 下午

    JQ无比强大啊

    回复
  3. xiao3 说:
    2010年01月25日于10:36 下午

    @万戈 我想问下,文章中提到的那个问题,你有什么解决办法么?我实在是不会啦!

    回复
  4. edikud 说:
    2010年01月26日于9:37 上午

    $(“.post .content a:not([href*=xiao3.info]),a:not[rel='nofollow'],a:not[rel='external'],a:not[rel='external nofollow'])”).each…
    这样外链就要有nofollow ,external ,external nofollow之中的一个.不知这样可不可以!

    回复
  5. edikud 说:
    2010年01月26日于9:41 上午

    img:not([src*=.jpg]),不知道有没有这样用的!

    回复
  6. xiao3 说:
    2010年01月26日于9:58 上午

    @edikud 你说的是写成这样么:

    
    	$(".post .content a:not([href*=xiao3.info]),a
     img:not([src*=.jpg]),a img:not([src*=.png]),
    a img:not([src*=.gif])").each(function(e){
    
    回复
  7. edikud 说:
    2010年01月26日于10:15 上午

    @xiao3
    $(“.post .content a:not([href*=xiao3.info]),a
    img:not([src*=.jpg]),img:not([src*=.png]),
    img:not([src*=.gif])”).each(function(e){ 我没有用过啊…

    回复
  8. xiao3 说:
    2010年01月26日于10:20 上午

    @edikud 还是不行~ :wink:

    回复
  9. xiao3 说:
    2010年01月26日于10:34 上午

    啊~被这个东西搞郁闷啦! :cry:

    回复
  10. 勇者审判 说:
    2010年01月30日于4:50 下午

    看不懂。 :smile:

    回复
  11. Insen 说:
    2010年01月30日于9:12 下午

    $(“.post .content a:not([href*=xiao3.info])”).not(‘:has(img)’).each 试试…

    回复
  12. xiao3 说:
    2010年01月30日于9:53 下午

    @Insen 还是不行! :wink:

    回复
  13. willerce 说:
    2010年02月14日于10:59 下午

    判断一下链接的结尾部分。

    回复
  14. phy 说:
    2010年02月21日于5:40 下午

    jQuery(document).ready(function($){
      $(“.post .content a:not([href*=xiao3.info])”).each(function(e){
      if(!$(this).parent().is(‘img’)) $(this).prepend(“”);
      });
    });

    回复
  15. xiao3 说:
    2010年04月25日于11:48 上午

    @phy 感谢,你终于帮我搞定啦!(*^__^*) 嘻嘻……

    回复
  16. xiao3 说:
    2010年04月25日于11:48 上午

    @willerce 已经搞定啦!可以在我博客里面查看效果!还不错哦!

    回复

Leave a Reply

点击这里取消回复


订阅

    Rss Feed Twitter @ mengzehe

相关文章

  • 谷歌的favicon缓存地址
  • 2010世界杯网页插件
  • Wordpress 免插件输出最新 Twitter
  • Wordpress自动输入个人信息javascript标签
  • 腾出来一些东西

最近文章

  • SolidWorks齿轮(直斜齿轮、锥齿轮、蜗轮、V带轮、平带轮)软件
  • 是谁低俗,是谁恶心
  • 过一会呢,有领导来视察
  • 为您的 Google App Engine 应用提供免费的加速服务
  • 性感美女演唱Twitter之歌
  • 申请属于自己的免费Twitter Api
  • Google Chrome Web Apps
  • 老大哥在看着你

热评文章

  • 成功搜到t.qq.com的invite (91)
  • 放出奇艺邀请50枚 (53)
  • 免费高速代理软件Puff (36)
  • 看图不说话【4】 (25)
  • 免翻墙观看Youtube视频(Firefox 和 Chrome) (21)
  • 《我的身体,我的心 - 初学者的 SM 指导》中文版 (21)
  • Wordpress评论栏优化概括 (19)
  • 关于 (17)

最近评论

分类存档


  • 投稿
  • 合作
  • 存档
  • Links
  • 订阅
  • ghs
  • 关于
  • 登录
Powered by Wordpress  |  Designed by WebTreats