1

YouTube で既知の悪いチャンネルからの動画結果を非表示にしたいと考えています。それほど難しいものではないはずです。動画アイテムには、主に の 2 つのバリエーションがあります。動画を検索する場合はspan大きい、関連動画列を表示する場合は.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 に答える