您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Free your hand from mouse/keyboard
当前为
// ==UserScript== // @name MZITU Infinite Scroll // @namespace http://www.mzitu.com/ // @version 0.1 // @description Free your hand from mouse/keyboard // @author You // @match https://www.mzitu.com/* // @grant none // ==/UserScript== (function() { 'use strict'; const displayArea = document.querySelector('.main-image p'); let page = document; let lock = false; let lastPage = null; document.addEventListener('scroll', checkAndLoad, {passive: true}); checkAndLoad(); async function checkAndLoad() { if (document.body.clientHeight - window.scrollY < window.innerHeight * 4 && !lock) { lock = true; page = await loadPage(page); lock = false; } } function loadPage(dom) /* Promise<HTMLDocument>: the document of next page */ { const nextPageA = dom.querySelector('.pagenavi a:last-child'); if (nextPageA.innerText !== '下一页»' || lastPage === nextPageA.href) return; lastPage = nextPageA.href; return fetch(nextPageA.href) .then(e => e.text()) .then(rawHtml => { const parser = new DOMParser(); const newDom = parser.parseFromString(rawHtml, 'text/html'); displayArea.appendChild(newDom.querySelector('.main-image img')); return newDom; }); } })();