Niconico AutoPagerize

ニコニコ動画のユーザーページにAutoPager機能を追加する

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Niconico AutoPagerize
// @namespace    https://foooomio.net/
// @description  ニコニコ動画のユーザーページにAutoPager機能を追加する
// @version      0.7
// @author       foooomio
// @license      MIT License
// @match        https://www.nicovideo.jp/my*
// @match        https://www.nicovideo.jp/user/*
// @run-at       document-end
// @grant        none
// ==/UserScript==

(() => {
  'use strict';

  const $ = document.querySelector.bind(document);

  if (!$('.UserPage-main')) return;

  const autopager = new IntersectionObserver(([entry]) => {
    if (entry.isIntersecting) {
      entry.target.click();
    }
  });

  new MutationObserver(() => {
    const target = $('.Timeline-more, .ShowMoreList-more');
    if (target) {
      autopager.disconnect();
      autopager.observe(target);
    }
  }).observe($('.UserPage-main'), { childList: true, subtree: true });
})();