ThreadScroll

Бесконечный контент в темах

当前为 2023-09-12 提交的版本,查看 最新版本

// ==UserScript==
// @name         ThreadScroll
// @namespace    https://gf.qytechs.cn/ru/users/1142494-llimonix
// @version      0.2
// @description  Бесконечный контент в темах
// @author       llimonix
// @license MIT
// @match        http*://zelenka.guru/threads/*
// @icon         https://i.imgur.com/ZiddNv0.png
// @grant        none
// ==/UserScript==

(function($) {
    let currentPageURL = $("a[rel='start']").attr("href");
    let pageC = parseInt($(".currentPage").text());
    let pagelast = parseInt($("nav > a:last").text());
    let currentURL = window.location.href;

    function checkURL() {
        let currentURLnew = window.location.href;
        if (currentURLnew != currentURL) {
            currentURL = currentURLnew;
            pageC = parseInt($(".currentPage").text());
            pagelast = parseInt($("nav > a:last").text());
        }
        requestAnimationFrame(checkURL);
    };

    checkURL();

    function doSomethingWhenScrolledToBottom() {
        pageC += 1;
        $('.messageList').append(`<div class="Spinner spinner small" style="background: center center rgb(39, 39, 39); padding: 0px 15px; border-style: none; border-radius: 10px; line-height: 34px; vertical-align: top; height: 40px; width: 200px; display: block; margin: 15px auto 15px;"><div class="bounce1 bounce"></div><div class="bounce2 bounce"></div><div class="bounce3 bounce"></div></div>`);
        XenForo.ajax(`https://zelenka.guru/${currentPageURL}page-${pageC}`, {}).then(function(data) {
            let contentThread = data.templateHtml;
            let parser = new DOMParser();
            contentThread = parser.parseFromString(contentThread, 'text/html');
            contentThread = $(contentThread).find('li.message');
            $(".Spinner").remove();
            $('.messageList').append(contentThread).xfActivate();
        });
    }

    $(window).scroll(function() {
        var documentHeight = $(document).height();
        var scrollPosition = $(window).scrollTop();
        var windowHeight = $(window).height();

        if (scrollPosition + windowHeight >= documentHeight) {
            if (pageC < pagelast) {
                doSomethingWhenScrolledToBottom();
            }
        }
    });
})(jQuery);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址