web-dev-qa-db-ja.com

広告ブロッカーでランダム化されたHTMLタグ名をブロックする方法は?

広告ブロッカー、つまりABP(AdBlockPlus)またはuBO(uBlock Origin)を使用して、ランダム化されたHTMLタグに表示される広告をブロックするにはどうすればよいですか?

例:

<U-RLCE class="uqRMKJfSUjw ">
    <U-RLCE class="uqRMMP7abhRgO7Q">
        <a class="c-link" href="/promo">ADVETISEMENT</a>
    </U-RLCE>
    <U-RLCE class="c-header">ADS</U-RLCE>
    <U-RLCE class="uqRMMP7aEigk">
        <U-RLCE class="uqRMMP7aEigk__i ">
            <U-RLCE id="uq1oOJuOo1U5TsJr71opDanxw4ZSMhQ" ></U-RLCE>
            <script>...</script>
        </U-RLCE>
    </U-RLCE>
</U-RLCE>

タグ名<U-RLCE>も、idおよびclass名とともに自動生成されたランダムな名前であることに注意してください。

1
andreikashin

Greasemonkey (Firefox)、 Tampermonkey (Chrome)、 Violent Monkey (Opera)で実行できるユーザースクリプトが必要です。

以下はそのようなスクリプトのサンプルです。私はこのスクリプトをテストしていないことに注意してください:

// ==UserScript==
// @nameElement Remover
// @namespace   http://forums.mozillazine.org/memberlist.php?mode=viewprofile&u=261941
// @description Gets rid of U-RLCE ads
// @author  your-name-here
// @include *
// @version 1.0
// @grant   none
// @license http://creativecommons.org/licenses/by-sa/4.0/
// ==/UserScript==

ads = document.getElementsByTagName("U-RLCE");
if (ads.length > 0) {
  for (i = 0, j = ads.length; i < j; i++) {
    ads[i].parentNode.removeChild(ads[i]);
  }
}

使用するには:

  1. 上記をメモ帳などのテキストエディタに貼り付けます
  2. @include句のURLを変更して、変更するサイトに一致させるか、そのままにしておくと、すべてのWebサイトで機能します。
  3. ファイルをyour-name-here.user.jsとしてデスクトップに保存します
  4. 適切な拡張子がインストールされ、ブラウザで有効になっている状態で、ファイルをブラウザウィンドウにドラッグアンドドロップします
  5. 画面の指示に従ってスクリプトをインストールします。
1
harrymc