1

我想隐藏 YouTube 上已知不良频道的视频结果。这应该不是很有挑战性。视频项主要有两种变体:搜索视频时span较大的 s 和相关视频列的较小 s。两者都在其内部元素中列出了频道所有者。.result-item.video-list-item.yt-user-name

通过对 Chrome 20 的开发人员控制台进行一些处理,我发现以下内容可以按预期工作:

  1. 任何有搜索结果的页面开始,注入 jQuery
  2. 选择第一个搜索结果a = $(".video-list-item, .result-item")[0]
  3. 提取用户名并将其转换为小写$(a).find(".yt-user-name").text().toLowerCase()

因此我尝试了以下方法:

badChannels = ["vaivecorporation"] #fill in as desired

$(jQuery.grep($(".video-list-item, .result-item"),
  function(item, number){
    username = $(item).find(".yt-username").text().toLowerCase();
    console.debug(username);
    return badChannels.indexOf(username) != -1;
  })).css('opacity', 0.1);

尽管有大量的 jQuery,它是完美的并且可以做所有的事情,但在这里注入最新的 jQuery和上面的内容只会给我 24 个换行符。

我究竟做错了什么?

4

1 回答 1

2

通过快速浏览页面源代码,看起来您需要yt-user-name,而不是yt-username

于 2012-04-29T17:37:43.490 回答