Nicorepo AutoPagerize

ニコニコ動画のニコレポにAutoPager機能を追加する

当前为 2020-07-01 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Nicorepo AutoPagerize
// @namespace    https://foooomio.net/
// @description  ニコニコ動画のニコレポにAutoPager機能を追加する
// @version      0.5
// @author       foooomio
// @license      MIT License
// @match        *://www.nicovideo.jp/my
// @match        *://www.nicovideo.jp/my/
// @match        *://www.nicovideo.jp/my?*
// @match        *://www.nicovideo.jp/my/top*
// @match        *://www.nicovideo.jp/user/*
// @exclude      *://www.nicovideo.jp/user/*/*
// @run-at       document-idle
// @grant        none
// ==/UserScript==

(() => {
  'use strict';

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

  const autopager = new IntersectionObserver(([entry]) => {
    if (entry.isIntersecting && !entry.target.parentElement.classList.contains('loading')) {
      entry.target.click();
    }
  });

  new MutationObserver(() => {
    const target = $('.NicorepoPastFetcher .next-page-link');
    if (target) {
      autopager.disconnect();
      autopager.observe(target, { childList: true });
    }
  }).observe($('.nicorepo-page'), { childList: true });
})();