Niconico AutoPagerize

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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 });
})();