0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

youtubeで広告スキップボタンの自動処理機能をプラグインに追加(おまけ)しました。

Last updated at Posted at 2023-04-21

概要

youtubeを再生しているときに、広告の再生が始まるときがあります。この時、しばらくすると広告スキップボタンが表示されるときもあります。
これは、クリックすると元の動画の再生に戻ります。このクリック操作を自動化し、クリックをしなくても、元の動画の再生に戻るようにしました。このプラグインは、「youtubeプラグイン v4.0です。」近日中には公開予定です。現在、Chromeウェブストアで審査中です。いましばらく、お待ちください。
審査が通過しました。

機能詳細について

このプラグインはyoutubeの動画再生ページで動作します。URLは"https://www.youtube.com/watch?v=....."です。

以下のコードは広告スキップボタンのクリックイベント代行処理の抜粋です。

content.js
setInterval(()=>{
    //広告スキップボタン
    //これは、広告スキップボタンが表示されたときに、自動的に元の再生に戻る
    //処理です。クリックは不要です。    
    if($(".ytp-ad-skip-button").length!==0){
        //alert("広告スキップ");
        let  ee = jQuery.Event('click');
        $('.ytp-ad-skip-button').trigger(ee);
    }
},6000);

プラグインのスクリプトで、content.jsはそのページのDOMにアクセスできますので、広告スキップボタン要素が表示されたかを先にチェックします。

プラグインでjqueryをインストールしていますので、表示確認は、次のスクリプトで行います。
$(".ytp-ad-skip-button").lengthで長さが0でなければ、表示されていることになります。
次に、クリックイベントの代わりに、trigger()関数を使います。trigger()関数を使うことで、youtubeページ側のclickイベントスクリプトを使わなくても、その処理を起動することができます。直接、clickイベントスクリプトを呼び出さなくてもtrigger()が代行してくれます。
直接、youtubeページのスクリプトを編集することはできませんので、この方法で行えば同様の処理を実行できます。
このスクリプトでは、6秒のインターバルタイマーを使っています。
6秒毎に、「広告スキップ」ボタンをチェックしています。6秒の意味は、そのくらいに設定すると「広告スキップが」見えて、その後、削除されて本来の再生が続行されることを確認できるためです。いずれは、もっと短くしたいと思います。

広告スキップでストレスフリー

今の時代は、どこのサイトを開いても広告がやたらに多く、間違えてクリックしてしまうことが多くなりました。また、本来の記事かと思わせるような巧妙なテクニックで誘導してきます。この誘いには絶対乗りたくありません。ユーザーも賢くならないといけません。

あとがき

長い再生時間の動画には広告が入るようです。そのため、この広告スキップボタンをクリックする回数はかなりの負担になります。
そのため、このプラグインをインストールしておけば、自動的にスキップしてくれますので、その手間は省けます。
審査が通過しましたら、インストールして試してみるのもいいかと思います。
審査が通過しましたので、お試しください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?