您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Prevent scrolling issues when page is resized by loading images
当前为
// ==UserScript== // @name Smart scrolling // @namespace [email protected] // @description Prevent scrolling issues when page is resized by loading images // @include * // @version 1.2 // @grant none // @run-at document-start // ==/UserScript== (function() { var update = function() { if(document.readyState != "complete") requestAnimationFrame(update); var images = [].slice.call(document.getElementsByTagName('IMG')), scrollY = 0, data, rect, height, style; for(var i = 0; i < images.length; i++) { if(!images[i].zssData) images[i].zssData = {}; data = images[i].zssData; if(document.readyState == "complete") delete images[i].zssData; if(data.complete) continue; rect = images[i].getBoundingClientRect(); height = Math.max(data.height || 0, Math.round(rect.bottom - rect.top)); if(isNaN(data.height)) { if(images[i].complete || !images[i].offsetParent || getComputedStyle(images[i]).position == 'fixed') { data.complete = true; } else { data.parent = images[i]; while(true) { data.parent = data.parent.parentNode; if(data.parent == document.body) break; style = getComputedStyle(data.parent); if(style.overflow == 'auto' || style.overflow == 'scroll') break; } } } else if(data.height != height) { if(rect.top >= 0) { } else if(data.parent == document.body) { scrollY += height - data.height; } else { data.parent.scrollTop += height - data.height; } data.complete = true; } data.height = height; } if(scrollY > 0) scrollBy(0, scrollY); }; update(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址