您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Waste your time faster by making images infinite on JANDAN.NET
当前为
// ==UserScript== // @name InfiniteJandan // @namespace http://tampermonkey.net/ // @version 0.5 // @description Waste your time faster by making images infinite on JANDAN.NET // @author w1ndy // @match http://jandan.net/pic // @match https://jandan.net/pic // @match http://jandan.net/ooxx // @match https://jandan.net/ooxx // @grant none // ==/UserScript== (function() { 'use strict'; let loading = false; let currentPage = $; function getNextPage (jq) { return new Promise((resolve, reject) => { const URI = $(jq.find('.previous-comment-page:first')).attr('href'); if (!URI) { reject('No next page!'); } else { $.get(URI, data => { const page = '<div id="new-page">' + data.replace(/^[\s\S]*<body.*?>|<\/body>[\s\S]*$/ig, '') + '</div>'; window.history.pushState(null, '', URI); resolve($(page)); }) .fail(() => { reject('Unable to load next page!'); }); } }); } function removeHook() { $('.comment-like, .comment-unlike').off('click', '**'); $('.tucao-btn').off('click', '**'); } function addHook() { // ooxx btn $('.comment-like, .comment-unlike').on('click', function () { ooxx_action($(this), 'comment'); }); // tucao btn $('.tucao-btn').on('click', function () { var $this = $(this); var comment_id = $this.data('id'); var comment_item = $this.closest('li'); var tucao_div = comment_item.find('div.jandan-tucao'); if (tucao_div.length) { tucao_div.slideToggle('fast'); } else { tucao_load_content(comment_item, comment_id); } }); } // Move up the comment box $('#commentform').insertBefore('#comments > div:nth-child(1)'); $('#comments > div:nth-last-child(1)').insertBefore('#commentform'); // Insert infinite sensor $('<div id="infinite-status">Loading next page...</div>') .css('height', '50px') .css('line-height', '50px') .css('text-align', 'center') .insertAfter('.commentlist'); document.addEventListener('scroll', () => { if (loading) { return; } if ($(window).scrollTop() + $(window).height() > $('#infinite-status').offset().top) { console.log('loading...'); loading = true; removeHook(); getNextPage(currentPage) .then(page => { // clean up old images to save memory const size = $('#comments > ol > li').length; if (size > 20) { $('#comments > ol > li').slice(0, size - 10).remove(); } // push new images const elems = page.find('.commentlist > *'); const firstId = elems[0].id; $('.commentlist').append(elems); // scroll to new images const pos = $(`#${firstId}`).offset().top; $('html, body').animate({ scrollTop: pos }, 1000); currentPage = page; addHook(); loading = false; }) .catch(err => { $('#infinite-status').html(err); }); } }); })();