修复Discuz下一页滚动

Discuz论坛在Chromium新版本下,点击下一页会滚动到最下面,导致难以识别刚才看到哪个帖子,这个脚本用来恢复以前的行为:点击下一页后不滚动。

// ==UserScript==
// @name         修复Discuz下一页滚动
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  Discuz论坛在Chromium新版本下,点击下一页会滚动到最下面,导致难以识别刚才看到哪个帖子,这个脚本用来恢复以前的行为:点击下一页后不滚动。
// @author       rcocco
// @match        http*://*/*forum-*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    let checkNextExist = setInterval(function(){
        let nextButton = document.querySelector("#autopbn");
        if(nextButton !== null){
            clearInterval(checkNextExist);
            nextButton.addEventListener("click", () => {
                let oldLastChild = document.getElementById("threadlisttableid").lastElementChild;
                let yOffset = window.pageYOffset;
                let checkNextLoaded = setInterval(function(){
                    if(oldLastChild !== document.getElementById("threadlisttableid").lastElementChild){
                        clearInterval(checkNextLoaded);
                        window.scrollTo({top:yOffset});
                    }
                },100);
            });
        }
    },100);
})();