如何通过JavaScript从页面中删除链接?

hto*_*que 3 javascript userscripts

我想为我的浏览器(Opera,Chromium)编写一个用户脚本,删除包含预定义关键字的链接.例如,当链接成为黑名单的一部分<a href="foo">bar</a>时,链接应该从页面中消失foo.

如何删除页面中的重复链接,除了首先显示如何获取和过滤网站,但我想通过用户脚本直接执行此操作.我是如何在每个页面加载时应用过滤器的?

Rob*_*obG 5

获取document.links集合.如果他们的任何.href属性与您的黑名单匹配,请将他们的style.display属性设置为"none".

例如

function removeLinks () {
  var blackList = /foo|bar|baz/;
  var link, links = document.links;
  var i = links.length;

  while (i--) {
    link = links[i];
    if (blackList.test(link.href)) {
      link.style.display = 'none';
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑

删除重复链接也是类似的练习.首先将链接HTMLCollection转换为普通数组,然后在迭代它们时使用它们的href作为对象的create属性.如果href已经是属性,请使用上面的方法或link.parentNode.removeChild(link)将其隐藏.