即刻自动滚动,定时刷新

即刻关注页,发现页的自动滚动.滚动到一定程度会重新刷新页面

目前為 2022-01-23 提交的版本,檢視 最新版本

// ==UserScript==
// @name         即刻自动滚动,定时刷新
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  即刻关注页,发现页的自动滚动.滚动到一定程度会重新刷新页面
// @author       [email protected]
// @match        https://web.okjike.com/
// @icon         https://www.google.com/s2/favicons?domain=okjike.com
// @grant        none
// @license MIT
// ==/UserScript==

// 页面滚动参考了https://blog.csdn.net/weixin_44869002/article/details/104577738的实现

function Scroller() {

}

Scroller.prototype = {
    busy: false,
    scrollWithOffset: function(offset) {
        if (this.busy) return;
        this.busy = true;

        let scrollTop =
            document.documentElement.scrollTop || document.body.scrollTop;
        const targetPosition = scrollTop + offset;
        // 滚动step方法

        var self = this;
        const step = function() {
            // 距离目标滚动距离
            let distance = targetPosition - scrollTop;
            // 目标滚动位置
            scrollTop = scrollTop + distance / 5;
            if (Math.abs(distance) < 1) {
                window.scrollTo(0, targetPosition);
                self.busy = false;
            } else
            {
                window.scrollTo(0, scrollTop);
                setTimeout(step, 20);
            }
        };
        step();
        return targetPosition;
    },
};

(function() {
    'use strict';

    const locations = ["https://web.okjike.com/recommend", "https://web.okjike.com/"];
    if (locations.includes(window.location.href)) {
        const offset = 400;
        const howManyScrollBeforeRefreshPage = 30;
        var currentPosition = 0;
        var scroller = new Scroller();

        var interval = setInterval(function() {
            if (currentPosition > howManyScrollBeforeRefreshPage * offset) {
                // refresh page
                location.reload();
            }
            currentPosition = scroller.scrollWithOffset(offset);
        }, 10*1000)
    }
})();

QingJ © 2025

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