工作室注册登录标签云赞助光荣榜

当前位置:首页 > 全栈分享 > JavaScript > 正文

js给文章外链添加rel="nofollow",内链则自动排除

发布时间:2022-01-08 23:26:00作者:魏义齐阅读:()评论:

本文为博主原创文章,未经博主允许不得转载。

用帝国cms的人都知道,编辑器编辑文章添加超链接时无法主动设置是否添加rel="nofollow",这就造成一个问题:添加外链时得非常谨慎,也正因为此,文章“再给卢松松博客投稿我就把我手剁了”被人在评论区吐槽了,当时我还回复的振振有词,现在看,得感谢帝国论坛的一篇帖子触发了我的js思维。

方法很简单,理论上任何网站都可以套用,上代码:

  1. $(function () { 
  2.   $(".article").find("a").each(function () { 
  3.     var hrefvalue = $(this).attr("href"); 
  4.     var str = "weiyiqi.net"
  5.     var int = hrefvalue.indexOf(str); 
  6.     if (int == -1) { 
  7.       $(this).attr("rel""nofollow"); 
  8.     } 
  9.   }) 
  10. }) 

代码详解

1.文章里面有未知个a,对每一个a都要执行操作,所以用each()函数。

2.变量hrefvalue表示每一个a的href值。

3.变量str表示需要排除的内链字符串。

4.indexOf()方法返回内链字符串在href值字符串中首次出现的位置,比如在字符串“https://blog.weiyiqi.net/html/bkxg/551.html”中如果打印出来的话就是13,如果不存在内链字符串则打印出来是-1。indexOf()方法还有一个参数规定在字符串中开始检索的位置,此处省略代表从href值字符串的首字符开始检索。

5.判断当变量int的值为-1时,也就是href值字符串不包含内链字符串时,给a标签添加rel="nofollow"。attr()方法用于设置或返回被选元素的属性和值。

我说清楚了吗?js还是要常写,不常写就跟我一样if条件里写一个等号去请教某大佬被批的恨不得找个老鼠洞钻进去。

帝国论坛的那篇帖子:http://bbs.phome.net/showthread-13-365489-0.html,可以f12查看这个a链接。

本文标签:,您可以阅读与「」相关的所有文章

魏义齐全栈技术交流:魏义齐全栈技术交流

相关阅读

    无相关信息

上一篇:给文章代码高亮模块增加一键复制功能下一篇:返回列表

原创不易,您的赞助就是博主更新的动力!

赞助请备注,8.88元及以上可在赞助光荣榜留下外链信息。

HashOver畅言云评完全自托管的评论系统

工作室注册登录标签云赞助光荣榜

最新会员
  • 东方星雨
  • deanhan
  • 1264822519
  • aini3311
  • a1051020101
  • weiyiqi