<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>uBlock Origin | wholenotism::blog</title>
	<atom:link href="https://www.wholenotism.com/blog/tag/ublock-origin/feed" rel="self" type="application/rss+xml" />
	<link>https://www.wholenotism.com/blog</link>
	<description>日々の雑感とかバイクとか英語とか...なんかそんなん諸々</description>
	<lastBuildDate>Fri, 08 May 2026 18:46:34 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.wholenotism.com/blog/wp-content/uploads/cropped-favicon-32x32.png</url>
	<title>uBlock Origin | wholenotism::blog</title>
	<link>https://www.wholenotism.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Bilibiliで動画再生中に登録画面が出てすぐ止まるのを回避する方法</title>
		<link>https://www.wholenotism.com/blog/2026/03/bilibili-login-pause-fix.html</link>
					<comments>https://www.wholenotism.com/blog/2026/03/bilibili-login-pause-fix.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Sun, 01 Mar 2026 11:07:01 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[bilibili]]></category>
		<category><![CDATA[tampermonkey]]></category>
		<category><![CDATA[uBlock Origin]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[プログラム・スクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=16604</guid>

					<description><![CDATA[Bilibiliで動画を見てると1分くらいで登録画面が出て再生が止まる・・・。 フルスクリーンも解除されてしまうし、なんか嫌。煩わしい。 もちろん登録すれば出ないんでしょうけどそこまでじゃない。 なんとかしたい できるな [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Bilibiliで動画を見てると1分くらいで登録画面が出て再生が止まる・・・。</strong><br />
フルスクリーンも解除されてしまうし、なんか嫌。煩わしい。</p>
<p>もちろん登録すれば出ないんでしょうけどそこまでじゃない。</p>
<p>なんとかしたい<br />
できるなら。</p>
<p><span id="more-16604"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2"><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">解決法①：uBlock Originのカスタムフィルタで回避</a><ol><li><a href="#toc2" tabindex="0">設定方法</a></li><li><a href="#toc3" tabindex="0">uBlock Origin の aost で中断</a></li></ol></li><li><a href="#toc4" tabindex="0">解決法②：TamperMonkeyのスクリプトで回避</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">解決法①：uBlock Originのカスタムフィルタで回避</span></h2>
<div class="information-box">環境は MacOS Sonoma, Firefox 147</div>
<p>まずは解決方法から。<br />
一つ目、uBlock Originのカスタムフィルタを使う。</p>
<p><a rel="noopener" href="https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/" target="_blank">uBlock Origin<span class="fa fa-external-link external-icon anchor-icon"></span></a> はWebブラウザ上で動作する「コンテンツ・広告ブロック拡張機能」です。<br />
その機能に <strong>JavaScriptインジェクション機能（scriptlet）</strong> と呼ばれるものがあります。</p>
<p>これを使うことで、<br />
<strong>自動停止と登録画面のポップアップの無効化</strong><br />
を試みます。</p>
<h3><span id="toc2">設定方法</span></h3>
<p>uBlock Originの「マイフィルター」に、次のルールを追加します。</p>
<pre class="plaintext"><code>bilibili.com##+js(aost, player.pause, /video\/video\.[0-9a-f]+\.js[\s\S]+?core\.[0-9a-f]+\.js[\s\S]+?emit/)</code></pre>
<p>保存したら、ページを再読み込みしてみてください。</p>
<p>再生後1分くらいで出てくる登録画面はもう出なくなっているはず。</p>
<p>フルスクリーンも解除されず、いい感じかなと。</p>
<p>注意点としては、</p>
<ul class="bold">
<li>Bilibili側の仕様変更で効かなくなる可能性がある</li>
<li>環境によっては動かないかも？（mac,Firefoxで確認したのみ）</li>
</ul>
<p>ということ。</p>
<p>あくまでも自分用に書いているので、うまく動かない場合は環境に合わせて工夫してみてください。</p>
<h3><span id="toc3">uBlock Origin の aost で中断</span></h3>
<p>ブラウザの開発ツールで自動停止時のスタックトレースを確認すると、<br />
<strong>video.xxxxx（ハッシュ）.js</strong> が入っているのがわかりました。これは手動で一時停止した際にはなかったものです。</p>
<p>uBlock Originには特定のスタックトレース条件に一致した場合のみ処理を中断する<strong>「abort-on-stack-trace（aost）」</strong>というscriptletがあります。</p>
<p>これを使ってスタック内に </p>
<ul class="bold">
<li>video/video.xxxxxx.js</li>
<li>core.xxxxx.js</li>
<li>emitを含む</li>
</ul>
<p>という条件に一致したときのみ <strong>player.pause</strong> を中断させます。</p>
<p>実は <strong>loginVersionEveryPlayInternval</strong> という文字列も出てくるので、</p>
<pre class="plaintext"><code>bilibili.com##+js(aost, player.pause, /loginVersionEveryPlayInternval/)</code></pre>
<p>でも効くのですが、この名前が変更されたら一発で動かなくなるので構造的に判断するようにしてみました。</p>
<p>一応これで通常の一時停止はそのままに、自動停止だけを無効化することができました。</p>
<p>現在の時点（2026.03.01）では特に不具合もなく動作しています。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc4">解決法②：TamperMonkeyのスクリプトで回避</span></h2>
<p><a rel="noopener" href="https://addons.mozilla.org/ja/firefox/addon/tampermonkey/" target="_blank">Tampermonkey<span class="fa fa-external-link external-icon anchor-icon"></span></a> は、ユーザースクリプトを管理・実行できるブラウザの拡張機能です。</p>
<p>こちらはもっとシンプルと言いますか、<br />
手動でやることを自動化した感じ。</p>
<p><strong>登録画面が出たらそれを閉じて、一時停止している動画の再生ボタンを押す。自動的に。</strong><br />
シンプル。</p>
<p>新規スクリプトを追加、から以下をコピペ。</p>
<pre><code>
// ==UserScript==
// @name         Bilibili ポップアップ停止＆自動再生継続
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  動画再生中の登録勧誘ポップアップを削除し、停止した動画を再開させます。
// @author       me
// @match        *://www.bilibili.com/video/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const observer = new MutationObserver(() => {
        //console.log("------------------------------------observe");
        const element = document.querySelector('.bili-mini-mask');
        if (element) {
            // ポップアップを削除
            element.remove();

            // 動画が停止している場合は再生を再開
            const video = document.querySelector('video');
            if (video && video.paused) {
                video.play().catch(e => console.log("再生再開に失敗しました:", e));
            }
        };

    });

    // ページの要素変化を監視開始
    observer.observe(document.body, {
        childList: true,
        subtree: false
    });
})();
</code></pre>
<p>こちらも注意点としては、Bilibili側の仕様変更で効かなくなる可能性があるということ。<br />
やってることはシンプルなのでクラス名の変更などで動かなくなったら適宜修正してください。</p>
<p>ただ<strong>こちらはフルスクリーン解除を回避していません。</strong></p>
<p>あと再生が止まることはありませんが、ちょっと引っかかるような感じはあるかもしれない。<br />
あまり気にならないけど。</p>
<h2><span id="toc5">まとめ</span></h2>
<p>Bilibiliの登録画面（ログイン誘導）表示による自動停止をこんな感じで回避してみました。</p>
<p>あくまでも個人用に書いたものを備忘録として記事化しています。<br />
自己責任にてご活用ください。</p>
<p>同じように困っている方の参考になれば幸いです。</p>
<p>では。</p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="16604"
					data-ulike-nonce="1ae49933c1"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_16604"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="+1"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2026/03/bilibili-login-pause-fix.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>YouTubeで特定のチャンネルをブロック/非表示/排除する方法（ログインなし）</title>
		<link>https://www.wholenotism.com/blog/2025/07/block-channels-on-youtube.html</link>
					<comments>https://www.wholenotism.com/blog/2025/07/block-channels-on-youtube.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Wed, 23 Jul 2025 21:00:17 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[tampermonkey]]></category>
		<category><![CDATA[uBlock Origin]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[プログラム・スクリプト]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=16209</guid>

					<description><![CDATA[目次 YouTubeのフィードから特定のチャンネルをブロックして排除したいYouTube上で特定のチャンネルをブロックする機能はあるの？方法1：uBlock Originを使うマイフィルター（カスタムフィルター）の使い方 [&#8230;]]]></description>
										<content:encoded><![CDATA[
  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4"><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">YouTubeのフィードから特定のチャンネルをブロックして排除したい</a></li><li><a href="#toc2" tabindex="0">YouTube上で特定のチャンネルをブロックする機能はあるの？</a></li><li><a href="#toc3" tabindex="0">方法1：uBlock Originを使う</a><ol><li><a href="#toc4" tabindex="0">マイフィルター（カスタムフィルター）の使い方と記述例</a></li><li><a href="#toc5" tabindex="0">注意点と限界</a></li></ol></li><li><a href="#toc6" tabindex="0">方法2：Tampermonkeyを使う（チャンネル名で排除）</a><ol><li><a href="#toc7" tabindex="0">注意点</a></li></ol></li><li><a href="#toc8" tabindex="0">方法3：チャンネルIDで排除（Tampermonkey）</a><ol><li><a href="#toc9" tabindex="0">注意点</a></li></ol></li><li><a href="#toc10" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">YouTubeのフィードから特定のチャンネルをブロックして排除したい</span></h2>
<p>YouTubeを使っていて、<br />
「<strong>このチャンネルは見たくないのになぜかおすすめに出てくる&#8230;</strong>」<br />
って事ありません？</p>
<p>「出てきにくくなる」じゃなくてもう<br />
<strong><span class="bold" style="font-size:150%;">出したくないし、サムネすら見たくない。</span></strong><br />
特に昨今のAIで嘘八百をただ読み上げてるだけの動画とかイライラしてしまう。</p>
<p>そんな動画を排除する方法についてまとめます。備忘録です。</p>
<p><span id="more-16209"></span></p>
<h2><span id="toc2">YouTube上で特定のチャンネルをブロックする機能はあるの？</span></h2>
<p>結論から言うと、現時点（2025年7月）では<br />
<strong>視聴者が特定のチャンネルを完全に非表示にする機能はなさそうです。</strong></p>
<p>以前は「<strong>ユーザーをブロック</strong>」することで、そのチャンネルを非表示にする方法が提供されていたようです。が、現在そういったものは見当たりません。<br />
また、「興味なし」とすることで一時的にフィードに出にくくすることは可能ですが、完全な除外ではなく、一定期間が経つと再度表示される可能性があります。<br />
子供の保護者向け管理機能はあるそうですが、これもまた使い方として限定的かなと。</p>
<p>というかそもそもログインして使ってないので設定もなにもないんですけどね自分には。</p>
<p>というわけで、ログインなしで非表示にする場合は、<br />
本記事のような <strong>ブラウザ拡張機能を利用した回避策</strong> が現実的なアプローチになります。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc3">方法1：uBlock Originを使う</span></h2>
<p>ブラウザはFirefoxを使っています。<br />
最近では随分とシェアも減ったようですが、なんとなく使い続けています。</p>
<ul class="bold">
<li>オープンソースであり、ユーザーのプライバシーに重点を置いている</li>
<li>uBlock OriginがManifest V2ベースで動作する最後の主要ブラウザ</li>
</ul>
<p>そして uBlock Origin は、軽量で高性能な広告ブロッカー／コンテンツフィルター拡張機能です。<br />
JavaScriptやDOM構造を解析し、不要なコンテンツの非表示・削除を行うことができます。広告だけでなく、ユーザー定義のフィルターによりWebページの任意の要素を非表示にすることが可能です。</p>
<p>[<a rel="noopener" href="https://addons.mozilla.org/ja/firefox/addon/ublock-origin/" target="_blank">公式アドオンページ<span class="fa fa-external-link external-icon anchor-icon"></span></a>]からインストールできます。</p>
<h3><span id="toc4">マイフィルター（カスタムフィルター）の使い方と記述例</span></h3>
<p>uBlock Originでは、「<strong>マイフィルター</strong>」機能を使って任意の要素を非表示にできます。</p>
<ol class="bold">
<li>uBlock Originの「設定」画面やアイコンからダッシュボードを開き、「マイフィルター」タブを選択</li>
<li>以下のようなフィルターを追加</li>
<li>「変更を適用」をクリック</li>
</ol>
<p>フィルター記述例：</p>
<pre class="wp-block-code"><code>
www.youtube.com##ytd-rich-item-renderer:has(ytd-channel-name:has-text(/感動大国日本|世界が称賛JAPAN|世界が○○るニッポン/i))</code>
</pre>
<p>簡単な解説：</p>
<ul class="bold">
<li><code>##</code> は、特定の要素を非表示にするセレクター構文</li>
<li><code>ytd-rich-item-renderer</code> はYouTubeのおすすめ・ホーム画面などで使われる要素</li>
<li><code>:has-text()</code> は、特定のテキストを含む要素を指定（チャンネル名に含まれる文字列、iは大文字小文字を区別しない）</li>
<li><code>ytd-channel-name</code> にあるテキストに特定の文字がある時、そのカードの領域ytd-rich-item-rendererを非表示にする</li>
</ul>
<p>ちなみに、問題ない動画の説明文などに反応されると困るので、チャンネル名で判断しています。部分一致（〜を含む）で指定します。<br />
指定する文字列はあまり汎用なものだと消す必要のないチャンネルまで消してしまう可能性があります。気をつけて。</p>
<h3><span id="toc5">注意点と限界</span></h3>
<ul class="bold">
<li>uBlock Originは「要素の非表示」であり、YouTubeのレコメンドアルゴリズム自体を変更するわけではありません。</li>
<li>YouTubeのUIやDOM構造が変更されると、フィルターが無効化される可能性があります。</li>
<li>フィルターはユーザー個別に調整する必要があります。排除リストが長くなると動作が重くなるかも。</li>
</ul>
<p>その他にも、<br />
動画ページの関連動画リストや、その他の場所においては機能しません。<br />
それらも記述しようとすると、場所毎に排除リストを重複して書く必要が出てきます。<br />
冗長だよね&#8230;</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc6">方法2：Tampermonkeyを使う（チャンネル名で排除）</span></h2>
<p>Tampermonkeyとはブラウザの拡張機能の一つで、ユーザーがJavaScriptコードを記述して、ウェブページの動作をカスタマイズできるツールです。<br />
これにより、ウェブサイトの表示を自分好みに変更したり、機能を追加したり、既存の機能を変更したりできます。</p>
<p>[<a rel="noopener" href="https://addons.mozilla.org/ja/firefox/addon/tampermonkey/" target="_blank">公式アドオンページ<span class="fa fa-external-link external-icon anchor-icon"></span></a>]からインストールできます。</p>
<p>さて、こちらはもう少し複雑なことが出来ます。</p>
<p>アドオンをインストールしたら「<span class="bold">新規スクリプトを追加</span>」から追加。</p>
<pre class="wp-block-code"><code>
// ==UserScript==
// @name         YouTube 特定チャンネル非表示（安定動作版）
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  特定の文字列を含むチャンネルの動画を非表示
// @author       Me
// @match        *://www.youtube.com/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function () {
    'use strict';

    // &#x2705; ブロック対象のチャンネル名（部分一致）
    const blockedChannelNames = [
        "感動大国日本","世界が称賛JAPAN","世界が○○るニッポン"
    ];

    const blockedRegex = new RegExp(blockedChannelNames.join("|"), "i");

    // &#x2705; 対象となる動画カードの要素リスト
    const videoSelectors = [
        'ytd-rich-item-renderer', //ホーム/おすすめのカードに登場
        'ytd-video-renderer', //メインの動画リスト（検索結果）に使用
        'ytd-grid-video-renderer', //サブスクリプションやチャンネルページのグリッド表示
        'ytd-compact-video-renderer', //サイドバーや関連動画リスト
        'ytd-reel-item-renderer', //Shorts（リール）用カード
        'yt-lockup-view-model' //サイド関連動画
    ];

    // &#x2705; 対象カードからチャンネル名を取得
    function getChannelNameFromCard(card) {
        // チャンネル名の要素（複数形式あり）
        const selectors = [
            'ytd-channel-name a',      // 通常
            '#channel-name a',         // shorts 等
            '.ytd-channel-name',       // 一部検索結果
            '.yt-simple-endpoint',      // fallback
            'yt-content-metadata-view-model' //サイド関連
        ];
        for (const sel of selectors) {
            const el = card.querySelector(sel);
            if (el && el.textContent) {
                return el.textContent.trim();
            }
        }
        return null;
    }

    // &#x2705; ブロック処理
    function hideBlockedVideos() {
        videoSelectors.forEach(selector => {
            document.querySelectorAll(selector).forEach(card => {
                if (card.dataset.ytChecked) return;
                card.dataset.ytChecked = "true";

                const channelName = getChannelNameFromCard(card);
                if (channelName && blockedRegex.test(channelName)) {
                    card.style.display = 'none';
                    console.log("&#x1f6ab; 非表示: ", channelName);
                }
            });
        });
    }

    // &#x2705; 初回 + SPA 対応
    const observer = new MutationObserver(() => {
        setTimeout(hideBlockedVideos, 200);
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    // &#x2705; 初回読み込み後にも実行
    setTimeout(hideBlockedVideos, 1000);
})();
</code></pre>
<p>コピペしたら保存して、<br />
「ブロック対象のチャンネル名」の部分に、ブロック（非表示）したいチャンネル名を追加していけばokです。<br />
スクリプトを有効化するのも忘れずに。</p>
<p>これでyoutubeを開いたときに、いらんフィードを非表示にしてくれます。</p>
<p>コンソールを開けば<br />
<span class="bold">非表示: チャンネル名</span><br />
と出るので機能してることがわかります。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20250724_002.jpg"><img fetchpriority="high" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20250724_002-800x552.jpg" alt="コンソール" width="800" height="552" class="alignnone size-large wp-image-16250" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20250724_002-800x552.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20250724_002-300x207.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20250724_002-768x530.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20250724_002.jpg 1474w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>スッキリ。</p>
<h3><span id="toc7">注意点</span></h3>
<ul class="bold">
<li>こちらも「要素の非表示」であり、YouTubeのレコメンドアルゴリズム自体を変更するわけではありません。</li>
<li>YouTubeのUIやDOM構造が変更されると、フィルターが無効化される可能性があります。</li>
<li>タグ要素は環境によって変わることもあるようです。対象とする要素はユーザー個別に調整する必要があるかもしれません。</li>
</ul>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc8">方法3：チャンネルIDで排除（Tampermonkey）</span></h2>
<p>一つ上の方法2と同じですが、こちらはチャンネルIDを使います。<br />
「チャンネル名」では汎用的な語句を使われた場合に誤判定が増えそうなので。</p>
<p>アドオンをインストールしたら「<span class="bold">新規スクリプトを追加</span>」から追加。</p>
<pre class="wp-block-code"><code>
// ==UserScript==
// @name         YouTube: Hide cards by handle (lightweight)
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Hide YouTube cards whose channel href (/@handle or /channel/UC...) matches blocked list (SPA-aware)
// @match        *://www.youtube.com/*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function () {
    'use strict';

    const blockedChannelIds = [
        "@emojapa","@NurikaJapa","@%E4%B8%96%E7%95%8C%E3%81%8C%E3%",
    ];

    // blockedSetの生成（デコード・正規化を両辺で統一）
    const blockedSet = new Set(
        blockedChannelIds.map(x => normalizePath(x))
    );

    function normalizePath(str) {
        const decoded = tryDecode(str);
        const noTrail = decoded.split(/[?#]/)[0].replace(/\/+$/, '');
        return noTrail.startsWith('/') ? noTrail : '/' + noTrail;
    }

    function tryDecode(str) {
        try { return decodeURIComponent(String(str).trim()); }
        catch { return String(str).trim(); }
    }

    // チェック対象カード（コンテナ・Shortsは除外）
    const CARD_SELECTORS = [
        'ytd-rich-item-renderer',
        'ytd-video-renderer',
        'ytd-grid-video-renderer',
        'ytd-compact-video-renderer',
        'yt-lockup-view-model',
    ].join(',');

    // チャンネルリンク候補（優先順）
    const CHANNEL_LINK_SELECTORS = [
        'ytd-channel-name a',
        '#channel-name a',
        'yt-content-metadata-view-model a[href^="/@"]',
        'a.yt-simple-endpoint[href^="/channel/"]',
        'a[href^="/c/"]',
        'a[href^="/user/"]',
        'a[href^="/@"]',
    ];

    function getChannelPath(card) {
        for (const sel of CHANNEL_LINK_SELECTORS) {
            const el = card.querySelector(sel);
            if (!el) continue;
            const raw = el.getAttribute('href') || el.href || '';
            if (!raw) continue;
            try {
                const pathname = raw.startsWith('http')
                    ? new URL(raw).pathname
                    : raw;
                return normalizePath(pathname);
            } catch { continue; }
        }
        return null;
    }

    function processCard(card) {
        // pathが取れていれば確定済み（再チェック不要）
        if (card.dataset.ytBlocked === 'true') return;
        if (card.dataset.ytSafe === 'true') return; // ←取れた＆セーフ確定

        const path = getChannelPath(card);

        if (!path) return; // まだDOMが揃っていない→フラグを立てず再試行可能に

        if (blockedSet.has(path)) {
            card.style.setProperty('display', 'none', 'important');
            card.dataset.ytBlocked = 'true';
            console.debug('&#x1f6ab;', path);
        } else {
            card.dataset.ytSafe = 'true'; // セーフ確定→以後スキップ
        }
    }

    function run() {
        document.querySelectorAll(CARD_SELECTORS).forEach(processCard);
    }

    // throttle付きMutationObserver
    let timer = null;
    new MutationObserver(() => {
        if (timer) return; // leading throttle（前の処理が終わるまで追加しない）
        timer = setTimeout(() => { run(); timer = null; }, 200);
    }).observe(document.body, { childList: true, subtree: true });

    // 初回（DOMが遅延する場合に備えて2段階）
    setTimeout(run, 800);
    setTimeout(run, 2500);

})();
</code></pre>
<p><strong>blockedChannelIds</strong> の部分に、ブロック（非表示）したいチャンネルIDを追加していけばok。<br />
チャンネルIDは消したいカード（サムネ）の下に表示されている<strong>チャンネル名</strong>を右クリックして<strong>リンクをコピー</strong>、その＠マーク以下を入力します。<br />
日本語で設定されている場合にはURLエンコードされた文字列（例：@%E6%97%A5%E6%9C%AC%E3%81&#8230;みたいな）を入力します。</p>
<p>自分は現在この方法を使っています。</p>
<h3><span id="toc9">注意点</span></h3>
<ul class="bold">
<li>チャンネルIDは任意に変更できるものらしいのでその点は注意。</li>
<li>こちらも「要素の非表示」であり、YouTubeのレコメンドアルゴリズム自体を変更するわけではありません。</li>
<li>YouTubeのUIやDOM構造が変更されると、フィルターが無効化される可能性があります。</li>
</ul>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc10">まとめ</span></h2>
<p>これで無事に、<strong>見たくないチャンネルの動画フィード、不快なサムネを非表示</strong>にできました。</p>
<p>最初はuBlock Originで設定したのですが、痒いところに手が届かないと言いますか、あともうちょいが届かない。<br />
例としては3つほど<span class="bold">”架空のチャンネル名”</span>をあげていますが実際はもっと多いです。というか多すぎです。似たような動画ばっかりどうなってんだ。</p>
<p>そんな長ったらしいチャンネル名群を、複数行に書くのは精神衛生上よろしくありません。</p>
<p>そこで実は今回初めて <strong>Tampermonkey</strong> を使ってみました。<br />
コードも実はChatGPTに手伝ってもらっています。AI動画を排除するためにAIを使うっていうね。ま、そういうもんだよね。うん。</p>
<p>とりあえずスッキリしたので良しとします。<br />
以上。</p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="16209"
					data-ulike-nonce="9856e5d487"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_16209"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2025/07/block-channels-on-youtube.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Web版Instagramで動画のコントロールバー/シークバーを表示させる【css】</title>
		<link>https://www.wholenotism.com/blog/2021/08/instagram-mvctrlbar.html</link>
					<comments>https://www.wholenotism.com/blog/2021/08/instagram-mvctrlbar.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Mon, 02 Aug 2021 15:22:29 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[uBlock Origin]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=10677</guid>

					<description><![CDATA[情報が古いので動かない可能性があります。最新はこちら↓ PC版インスタで動画を早送り・巻き戻し！シークバーを表示させる方法【ブックマークレット】PC版（web版）のインスタグラムのサイトって動画のシークバーが出ないんです [&#8230;]]]></description>
										<content:encoded><![CDATA[<div class="alert-box">情報が古いので動かない可能性があります。最新はこちら↓</p>

<a href="https://www.wholenotism.com/blog/2026/03/instagram-vid-seekbar.html" title="PC版インスタで動画を早送り・巻き戻し！シークバーを表示させる方法【ブックマークレット】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="90" src="https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-160x90.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-300x169.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-768x432.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_eci.jpg 800w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">PC版インスタで動画を早送り・巻き戻し！シークバーを表示させる方法【ブックマークレット】</div><div class="blogcard-snippet internal-blogcard-snippet">PC版（web版）のインスタグラムのサイトって動画のシークバーが出ないんですよね。なんとなく気になると言うか、あとどれくらいで終わるのかがわからないとかが・・・なんか嫌。ちょんちょんと早送り・巻き戻ししたくてもできないし。んで、実は以前 u...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.wholenotism.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.wholenotism.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2026.03.07</div></div></div></div></a>
</div>
<p>Web版のInstagramをブラウザで閲覧中、<strong>動画のコントロールバー（シークバー）を表示させたい</strong>ことってありません？</p>
<p>動画の再生速度を変更して2倍くらいのスピードで再生したり、少し戻すとか進めたりとシークしたい時なんかも。</p>
<p>でも基本そんなコントロールバーは出てこないし、<br />
右クリックしても出せない仕様。</p>
<p>その為のアドオン/拡張機能/エクステンションを探せばなにかあるかもしれませんが、<br />
そんなことしなくても<br />
<strong>uBlock Origin（広告ブロック）を使っていれば簡単にできるよ！</strong><br />
というちょっとした小技をご紹介。</p>
<p><span id="more-10677"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6"><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">Web版Instagramの画面構成を調べてみる</a><ol><li><a href="#toc2" tabindex="0">ノードを削除すれば良い？</a></li></ol></li><li><a href="#toc3" tabindex="0">右クリックしてvideoのメニューが表示できるようにする</a><ol><li><a href="#toc4" tabindex="0">uBlock OriginのMyフィルターを使ってCSSを上書き</a></li></ol></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">Web版Instagramの画面構成を調べてみる</span></h2>
<div class="information-box">ちなみにこの方法は2021年8月現在において有効なものです。今後仕様が変われば使えなくなる可能性はあります</div>
<p>さて、まずはWeb版Instagramの画面構成を調べてみます。</p>
<p>※画面はFirefoxです。</p>
<p>例えばこのページ（サンプル）、</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20210802_001.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210802_001-800x600.jpg" alt="Instagramの画面構成" width="800" height="600" class="alignnone size-large wp-image-10676" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210802_001-800x600.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_001-300x225.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_001-768x576.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_001.jpg 1050w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>開発ツールを表示させて、<br />
動画部分の要素を選択すると・・・</p>
<p>videoタグが内包されているdivタグがあり、<br />
その下に「<strong>PyenC</strong>」と「<strong>fXIG0</strong>」というクラスが割り当てられているdivタグがあります。</p>
<p><a href="https://www.wholenotism.com/blog/wp-content/uploads/20210802_002.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-800x453.jpg" alt="html" width="800" height="453" class="alignnone size-large wp-image-10675" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-800x453.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-300x170.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-768x435.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-120x68.jpg 120w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-160x90.jpg 160w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002-320x180.jpg 320w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_002.jpg 1177w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>現状においてはこれらが<span class="bold">動画の再生マーク（三角マーク）</span>と、<span class="bold">再生のトリガーとなるイベント</span>が設定されている要素となります。</p>
<p>ここがクリックされると動画の再生が始まるわけですね。<br />
そしてそれらが上に重なっている状態。</p>
<h3><span id="toc2">ノードを削除すれば良い？</span></h3>
<p>上に重なって邪魔になるなら消してしまえばいい。</p>
<p>・・・と思いますがそうもいきません。</p>
<p>自動再生を許可していれば勝手に再生が始まりますが、<br />
そうでない場合や、ホームのタイムラインなんかではクリックしてイベントを発生させなければ、<br />
そもそも動画の再生がはじまりません。</p>
<p>ちなみにそれら二つの要素を消し、サムネイルとして表示されている imgタグを消して再生しようとするとエラーになってしまいます。</p>
<p>む〜</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc3">右クリックしてvideoのメニューが表示できるようにする</span></h2>
<p>さて、ちょっと引っ張りすぎたのでそろそろ結論を書きます。</p>
<p><strong><span class="bold" style="font-size:150%;">消してダメならずらせば良い（！）</span></strong></p>
<p>「PyenC」と「fXIG0」に適用されているcssはこんな感じで<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210802_003.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210802_003-800x476.jpg" alt="css" width="800" height="476" class="alignnone size-large wp-image-10674" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210802_003-800x476.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_003-300x178.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_003-768x457.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_003.jpg 1227w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>この <span class="bold">bottom</span> あたりの値を少しいじってみましょう。</p>
<p>とは言えいちいち手動ではやってられないので、<br />
この部分のcss書き換え処理を <span class="bold">uBlock Origin</span> にやってもらいます。</p>
<h3><span id="toc4">uBlock OriginのMyフィルターを使ってCSSを上書き</span></h3>
<p>uBlock Originをインストールしておく必要があります。<br />
Chrome、Firefox、Edge、Opera等で利用可能です。<br />
Safariでは使えません。</p>
<p>さて、uBlock Origin の設定画面から Myフィルター を出したら、</p>
<pre class="text">
www.instagram.com##.PyenC, .fXIG0:style(bottom: 100px !important)
</pre>
<p>と1行追記します。<br />
これだけ。</p>
<p>見ての通り bottom の値に上書きすることで、<br />
当該要素を100ピクセル上に移動します。<br />
つまり下側に右クリックする隙間を作ったわけです。</p>
<p>ブラウザで開いてみると下の方は右クリックしてメニューが出せるようになっており、<br />
「コントロールを表示」を選べばコントロールバーが表示されます。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20210802_004.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20210802_004-800x626.jpg" alt="コントロールバーが表示されます" width="800" height="626" class="alignnone size-large wp-image-10673" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20210802_004-800x626.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_004-300x235.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_004-768x601.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20210802_004.jpg 993w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>ちなみにホームのタイムライン上に表示される動画でも同じように<br />
右クリックからメニューが出せるようになっているはずです。</p>
<p>ただしサムネイルとなる画像が重ねられているので、<br />
一度再生ボタンを押して再生し（画像要素が削除されて動画の再生が開始される）、<br />
そのあとで右クリックメニューを出す必要があります。</p>
<p>動画の自動再生を許可していなければ同様の手順が必要かもしれません。</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc5">まとめ</span></h2>
<p>ということで上に重なっている要素を少しずらしてあげれば、<br />
<strong>videoタグで表示されている部分にアクセスできるようになるよ</strong>、というお話でした。</p>
<p>uBlock Originのコンテンツフィルタを使って実現しましたが、<br />
その他の環境でもcssが上書きできればいいのでアイディアさえ理解すれば応用は可能だと思います。</p>
<p>また、冒頭にも書きましたが、<br />
これはあくまでも現在の仕様で使える方法です。</p>
<p>クラス名が変更されたり、構造が変われば当然使えなくなります。<br />
使えなくなったらまた考えますけど。</p>
<p>そしてこれもお約束ですが、あくまでも自己責任において使う方は使ってください。</p>
<p>それでは。</p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="10677"
					data-ulike-nonce="5e6b2d7c76"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_10677"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2021/08/instagram-mvctrlbar.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>イベントリスナーに登録された全画面クリック(広告)を外す【uBlock Origin】</title>
		<link>https://www.wholenotism.com/blog/2020/03/addeventlistener-defuser.html</link>
					<comments>https://www.wholenotism.com/blog/2020/03/addeventlistener-defuser.html#respond</comments>
		
		<dc:creator><![CDATA[watary]]></dc:creator>
		<pubDate>Mon, 23 Mar 2020 22:13:57 +0000</pubDate>
				<category><![CDATA[コンピュータ関連]]></category>
		<category><![CDATA[uBlock Origin]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://www.wholenotism.com/blog/?p=9247</guid>

					<description><![CDATA[いつも利用していた某サイトに何やら要らん仕掛けが施された。 画面上のどこをクリックしても新しいウインドウを開いて広告サイトへ飛ばされてしまう。 一度開いてしまえばその仕掛けは外され普通に閲覧できるようになるのだけれど・・ [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>いつも利用していた某サイトに何やら要らん仕掛けが施された。</p>
<p><strong>画面上のどこをクリックしても新しいウインドウを開いて広告サイトへ飛ばされてしまう。</strong></p>
<p>一度開いてしまえばその仕掛けは外され普通に閲覧できるようになるのだけれど・・・<br />
ちょっと嫌なので、というかさすがにこれはやりすぎだし腹立たしいので対策することにしました。</p>
<p><span id="more-9247"></span></p>

  <div id="toc" class="toc tnt-number tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8"><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">画面をクリックしただけでウインドウが開く</a></li><li><a href="#toc2" tabindex="0">uBlock Originを利用して対策</a><ol><li><a href="#toc3" tabindex="0">Myフィルターに登録する</a></li><li><a href="#toc4" tabindex="0">結局ドメイン指定で拒否（追記）</a></li></ol></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2><span id="toc1">画面をクリックしただけでウインドウが開く</span></h2>
<div class="information-box">対象としているサイトへのリンクは貼りませんし名称も書きません。あくまでも似たような事にお悩みの際のリファレンスとしてお読みください。</div>
<p>ソースを見てみると<strong>全画面を覆うdiv領域が付け加えられ、その中にaタグ（リンク）が置いてある</strong>。<br />
単純にそれを外して（非表示にして）みたのだけれど結果は変わらず。<br />
画面のどこであれクリックで飛ばされてしまう。</p>
<p>次に直接ノードを削除してみた。<br />
けれど瞬時に新しいランダムIDで復活してしまう。<br />
その辺は相手もぬかりないようだ。<br />
むぅ</p>
<p>さらに良くみてみるとイベントリスナーに Click が登録されており、<br />
それが件のdiv要素を非表示にしてもクリックで飛ばされてしまう原因のようだ。</p>
<p>んならばその登録を阻害するまで。</p>
<h2><span id="toc2">uBlock Originを利用して対策</span></h2>
<p>普段はFirefoxを使っており、そこにuBlock Originがインストールしてあります。</p>
<p>「<a rel="noopener" href="https://addons.mozilla.org/ja/firefox/addon/ublock-origin/" target="_blank">uBlock Origin<span class="fa fa-external-link external-icon anchor-icon"></span></a>」</p>
<p>ご存知の方も多いと思いますが端的に言えば「<span class="bold">広告ブロック</span>」の拡張機能。<br />
広告だけでなく条件にあった要素を消せるので見たくない項目、<br />
例えば嫌いなサイトへのリンクを持っている要素ごと消し去ることができます。</p>
<p>一度設定してしまえば目にすることすら無くなるので、<br />
アンテナサイト閲覧時などにストレスがたまらない。（笑</p>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h3><span id="toc3">Myフィルターに登録する</span></h3>
<p>結論から書きます。</p>
<p>（※Firefoxの場合）<br />
uBlock Originがインストールされたら<br />
<span class="bold">拡張機能のアイコン &gt; ダッシュボードを開く</span><br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20200324_001.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20200324_001.jpg" alt="ダッシュボードを開く" width="522" height="471" class="alignnone size-full wp-image-9250" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20200324_001.jpg 522w, https://www.wholenotism.com/blog/wp-content/uploads/20200324_001-300x271.jpg 300w" sizes="(max-width: 522px) 100vw, 522px" /></a></p>
<p>そして「Myフィルター」の設定画面を開きます。<br />
<a href="https://www.wholenotism.com/blog/wp-content/uploads/20200324_002.jpg"><img loading="lazy" decoding="async" src="https://www.wholenotism.com/blog/wp-content/uploads/20200324_002-800x397.jpg" alt="Myフィルター" width="800" height="397" class="alignnone size-large wp-image-9251" srcset="https://www.wholenotism.com/blog/wp-content/uploads/20200324_002-800x397.jpg 800w, https://www.wholenotism.com/blog/wp-content/uploads/20200324_002-300x149.jpg 300w, https://www.wholenotism.com/blog/wp-content/uploads/20200324_002-768x381.jpg 768w, https://www.wholenotism.com/blog/wp-content/uploads/20200324_002.jpg 1029w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<p>フィルタリングする条件を書いていきます。</p>
<pre class="text">
annoying.example##+js(addEventListener-defuser.js, /^(click|mousedown)/)
annoying.example##div[style*="opacity: 0.01;"]
</pre>
<p>簡単に解説。<br />
1行目：<br />
annoying.example は「対象とするサイトのドメイン」<br />
##は「以降の条件に適用」<br />
+js(&#8230;) 「スクリプトを注入」（script:inject(&#8230;)、ver 1.15.12からこの省略形が利用可能です）<br />
addEventListener-defuser.js 「イベントリスナーへの登録を防ぐスクリプト」<br />
/^(click|mousedown)/ 「イベントの名前：この場合クリック」</p>
<p>2行目：<br />
もともと挿入されていたdiv要素を排除します。<br />
IDはランダムな文字列だったものの、style属性に&#8221;opacity: 0.01&#8243;が指定されていたのでそれを利用しました。</p>
<p><strong>適用したいサイトのドメインに変えて記述し</strong>、「<span class="bold">変更を適用</span>」をクリックしたら作業は完了です。</p>
<p>これでイベントリスナーへの登録は阻止され、元から記述されていた全画面のdiv要素は非表示になりました。</p>
<h3><span id="toc4">結局ドメイン指定で拒否（追記）</span></h3>
<p>その後、微妙にやり方を変えるなどしていたようですが、<br />
接続しに行くドメインが結局のところ同じだったので、<br />
そのドメインを拒否することで対応しました。</p>
<pre class="ini">
||example.com^
</pre>
<div class="ad-area no-icon ad-shortcode ad-fluid ad-label-invisible cf" itemscope itemtype="https://schema.org/WPAdBlock">
  <div class="ad-label" itemprop="name" data-nosnippet>スポンサーリンク</div>
  <div class="ad-wrap">
    <div class="ad-responsive ad-usual"><!-- レスポンシブコード -->
<ins class="adsbygoogle"
  style="display:block"
  data-ad-client="ca-pub-4405475467092514"
  data-ad-slot="2803567186"     data-ad-layout="in-article"
  data-ad-format="fluid"
  data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script></div>
          </div>

</div>

<h2><span id="toc5">まとめ</span></h2>
<p>広告をクリックするかどうかはユーザの意思に委ねられるべきです。</p>
<p>私自身もこのブログにアドセンスの広告を配置していますが、<br />
見にくる人がアドブロック系のアドオン（機能拡張）を使っていても特に問題ないと考えています。</p>
<p>広告ばっかり見たくない気持ちもわかりますからね。<br />
故によくある「アドブロックをオフにして！」的なスクリプトを走らせる気にはなりません。</p>
<p>もちろん記事を読んだついでに広告をクリックして貰えたらとても嬉しいのですが、<br />
ユーザの意思に関係なく広告サイトへ飛ばすなんてのは言語道断です。</p>
<p>ということで今回対策した内容を記事にしてみました。</p>
<p>一応念のため言っておきますが、当サイトに設定しても意味ないですよ？<br />
そもそもそんなことやってませんから（笑</p>
<p><small>参考サイト：<a rel="noopener" href="http://a-kuma3.hatenablog.com/entry/ublock_origin_again_at_firefox" target="_blank">uBlock Origin 再び ＠Firefox<span class="fa fa-external-link external-icon anchor-icon"></span></a>、<a rel="noopener" href="https://github.com/gorhill/uBlock/wiki/Static-filter-syntax" target="_blank">Static filter syntax<span class="fa fa-external-link external-icon anchor-icon"></span></a></small></p>
<p><!--NoAds--></p>
		<div class="wpulike wpulike-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="9247"
					data-ulike-nonce="2b3cac011a"
					data-ulike-type="post"
					data-ulike-template="wpulike-heart"
					data-ulike-display-likers="0"
					data-ulike-likers-style="popover"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_9247"></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
					<wfw:commentRss>https://www.wholenotism.com/blog/2020/03/addeventlistener-defuser.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
