You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

书签JavaScript代码无法高亮nofollow链接,请求协助排查问题

问题分析与修复方案

你的代码无法正常运行主要有两个核心问题:

1. 严格匹配rel属性值的局限性

很多网站的nofollow链接会同时附带其他rel属性值(比如rel="nofollow noopener noreferrer"),你用a[i].rel === 'nofollow'做严格相等判断,只会匹配rel属性值完全等于"nofollow"的链接,漏掉了绝大多数包含多值的nofollow链接。

2. 未处理浏览器的页面替换行为

书签代码执行后,如果代码有返回值,部分浏览器会把当前页面内容替换成这个返回值,导致页面异常。


修复后的可运行代码

javascript:(function(){
  const links = document.getElementsByTagName('a');
  for(let i=0; i<links.length; i++){
    const link = links[i];
    // 兼容单值和多值的nofollow属性匹配
    if(link.rel && link.rel.includes('nofollow')){
      link.style.backgroundColor = 'red';
      link.style.fontSize = '2em';
    }
  }
})();

关键改进说明

  • 用自执行函数包裹代码,既避免污染全局变量,又能阻止浏览器替换页面内容
  • 用link.rel.includes('nofollow')替代严格相等,覆盖所有包含nofollow的rel属性场景
  • 增加link.rel的存在性判断,避免无rel属性的链接触发报错

内容的提问来源于stack exchange,提问作者Ali Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 17:20:54