Javascript 如何使用JS在后台滚动?
我正在构建一个chrome扩展,在这里我必须访问一些Javascript 如何使用JS在后台滚动?,javascript,html,Javascript,Html,我正在构建一个chrome扩展,在这里我必须访问一些span元素的innerText。我可以使用简单的document.querySelector命令安全地获取它们 但对于某些跨度,它返回null,因为它们在DOM>中还不存在(出于安全原因,我无法透露发生这种情况的网站,但为了更清楚地说明,它会做类似的事情,即Experience块仅在向下滚动时加载。) 现在,用这个例子来引用这个问题:我想得到span的值,它在Experience部分中。如果我在window.onload中运行脚本,它将返回n
span
元素的innerText
。我可以使用简单的document.querySelector
命令安全地获取它们
但对于某些跨度,它返回null
,因为它们在DOM>中还不存在(出于安全原因,我无法透露发生这种情况的网站,但为了更清楚地说明,它会做类似的事情,即Experience块仅在向下滚动时加载。)
现在,用这个例子来引用这个问题:我想得到span
的值,它在Experience部分中。如果我在window.onload
中运行脚本,它将返回null
,因为跨度还不在那里
一种解决方案是简单地滚动页面(或者更糟糕的是,要求扩展的用户在运行扩展之前先滚动页面。)但是,我不想这样做
在JS中有没有一种方法可以在后台滚动页面而不向用户提供视觉反馈,这样我就可以获得最初隐藏的HTML元素的值
假设我想要得到的范围有以下类:
defence-rc4
您可以在vuejs之类的框架上这样做,或者在react中使用生命周期挂钩进行react。您可以在使用componentWillMount()初始呈现组件之前执行方法、函数。True。但是,由于我不是将运行扩展的网站的所有者,该方法无法工作。@barbsan请重新阅读问题和问题标题。也许您可以为容器提供一个可见性:隐藏,将其移动到视口中,并使用MutationObserver
来确定跨度何时加载。访问跨度后,将容器向后移动并恢复其可见性。