【脚本求助】如何取消修改网页元素的脚本在加载时导致的页面突变?
动机昨天搓了这么一个油猴脚本:【油猴脚本】自定义左侧边栏,其功能是修改论坛左侧边栏成想要的样子。
实际使用过程中,还是遇到了一点点问题,即在页面完全加载之前,左侧边栏依然维持原来的样子,加载完成后脚本才会生效——这会导致边栏突变,或者说“闪动”。在打开主页和我的勋章时尤为明显,强迫症震怒。
需求
我尝试过使用@Run document-start来调整脚本的运行时点,但这有可能导致脚本加载不稳定,一旦错过了对应时点,脚本就不加载了。而相比不稳定我宁可它闪动(悲)
总之,希望各位大佬能通过修改这个脚本、或任意能实现相同功能的方法,把这个“闪动”撒掉。提前感谢惹(´▽`ʃ♡ƪ)~ 本帖最后由 咸鱼鱼 于 2024-11-15 02:47 编辑
修改运行时间是唯一正确的做法
因为这个闪动是因为,脚本的默认执行时间是在页面完全加载完之后,再进行的修改
你想不要这个闪动,只能比页面完全加载更早
还有一个方案你可以自己尝试一下
原来的列表,用adblock之类的东西给他干掉
自己用油猴脚本写一个新的
adblock也是在页面加载之前就阻止了,比油猴的docment-start还要快一点
不过可能也会闪,不过闪一般是有变化的话,肉眼感觉比较明显
如果是空白的页面,也许肉眼就感觉不到了
你可以尝试一下
试着修改了一下,效果不大行
说下我的思路:
给过渡加特效
or
一开始把Menu全部隐藏再显示
document.addEventListener('DOMContentLoaded', () => {
const navMenu = document.querySelector('.nav-menu');
if (navMenu) {
navMenu.style.display = 'none';
(Run document-start,闪动感觉少了,不过有时候会一直不显示(或许得加个检测?
↓
分成两个脚本,一个隐藏,一个显示状态栏好一点?(还能搞花样
页:
[1]