0
0

firefoxでニコニコ動画が再生できないので、javascriptでどうにかする

Posted at

以下のコードをニコニコの動画ページが読み込まれたら自動的に実行されるようにします。
スペースか、プレイヤーをクリックで再生できるようになります。

(function () {
    'use strict';

    // 動画を再生(もしくは停止)させる処理
    function toggleVideoPlay() {
        const video = document.getElementsByTagName('video')[0];
        video.paused ? video.play() : video.pause();
    }

    // キーボードイベント(Spaceキー待ち)を仕込む
    document.addEventListener('keydown', (event) => {
        if (event.code === 'Space') {
            toggleVideoPlay();
        }
    });

    // DOMを取得できるように待ってから、クリックイベントを仕込む
    setTimeout(() => {
        const videDiv = document.querySelector('.cursor_inherit.ring_none');
        const playButton = document.getElementById('tooltip::r5::trigger')
        videDiv.addEventListener('click', toggleVideoPlay);
        playButton.addEventListener('click', toggleVideoPlay);
    }, 2000);

})();

コードの内容ですが何ら難しいことをしていません。playメソッドなら再生できるため、イベントを仕込んでメソッドを呼んでいるだけです。

setTimeoutでDOMを取得できるように2秒待っています。私の環境なら2秒くらいがちょうど良かったのですが、ここは各自環境に合わせて変えると良いかもしれません。

拡張機能として登録してもよいですが面倒です。
私はTampermonkeyという、jsを自動実行してくれる拡張機能に登録しました。

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