当鼠标光标不在滚动条上时,滚动 Facebook 列表中的人员列表不起作用

问题描述 投票:0回答:1

我想向下滚动,直到https://www.facebook.com/friends/requests页面上滚动的最大末端,但我完全不明白它在这里是如何工作的。

当我自己滚动时,我的光标必须位于好友好友请求区域,以便滚动条可见here如果我自己向下滚动且滚动条可见,我可以使用

var element = document.querySelector('.x1p6kkr5'); element.scrollIntoView();
在浏览器控制台中使其向下滚动,但如果我自己没有完全向下滚动它就不起作用。当滚动条不可见时它根本不起作用here我收到这个:

VM1363:1 Uncaught TypeError: Cannot read properties of null (reading 'scrollIntoView')
    at <anonymous>:1:60

我想知道如何让它向下滚动,而无需我将鼠标光标放在好友请求选项卡上,并在第一次滚动时无需我的帮助即可使其滚动?

javascript facebook scroll scrollbar social-media
1个回答
0
投票

如果我理解正确的话,您想向下滚动到好友请求部分的底部。你可以在控制台中尝试这个:

首先尝试复制 JS 路径而不是使用 'x1p6kkr5' 类来查找元素。

//element = document.querySelector("...");
右键单击 html 标签复制>复制 JS 路径
element.scrollTop = element.scrollHeight;
向下滚动到视图底部

问题是,如果您的好友列表太长,它只会向下滚动到初始好友数量。加载其余的好友请求后,您必须再次执行此行,或者您可以使 ovserver 监听

element.scrollHeight
的更改,并在更改时执行“向下滚动”代码。

const observer = new MutationObserver((mutationsList, observer) => {
const oldHeight = observer.oldHeight || 0;
const newHeight = element.scrollHeight;

if (newHeight !== oldHeight) {
    element.scrollTop = element.scrollHeight;
    observer.oldHeight = newHeight;
    }
});
observer.observe(element, { childList: true, subtree: true });
element.scrollTop = element.scrollHeight;

请记住,每次都必须再次复制 JS 路径,因为 Facebook 似乎在每次重新加载时都会更改类名。

© www.soinside.com 2019 - 2024. All rights reserved.