避免在滚动时渲染加载的新元素的脚本?

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

我在一台装有谷歌浏览器的 MacBook Pro M2 上。我正在浏览网页中的很多元素。更具体地说,我正在滚动浏览大量 Facebook 个人资料,我注意到一段时间后页面崩溃并显示“Aw, Snap”。我试图增加浏览器的默认缓存大小,但这并没有解决问题,因为这不是问题所在。问题可能出在 Blink 引擎的结构限制中。 新元素在滚动时被添加,因此被渲染(延迟加载)。 我想:如果我阻止渲染新元素怎么办? 基本上我需要设置:

element.style.display = 'none';

但我需要在添加元素之前执行此操作,否则如果我在添加元素之后执行此操作,它仍会被渲染。 所以,我想我需要找到从服务器获取元素的脚本,并且我需要在添加元素之前进行适当的更改。

我也尝试删除元素,认为它可以删除一些“重量”,但即使我能够通过滚动去父亲,它仍然会在一段时间后崩溃。

var profiles = document.querySelectorAll('tagName');
for(var i=0;i<profiles.length;i++) {
profiles[i].remove();
}

我能做什么?

javascript google-chrome browser crash
1个回答
0
投票

试试这个...

 try{W.contentWindow.stop();} catch(e){}

注意:“W”是您的框架 ID,不用说您应该在页面加载后立即调用它。

来自 Mozilla...

window.stop() 停止当前资源的进一步加载 浏览上下文,相当于浏览器中的停止按钮。

由于脚本的执行方式,该方法无法中断其 父文档正在加载,但它会停止其图像、新窗口、 和其他仍在加载的对象。

https://developer.mozilla.org/en-US/docs/Web/API/Window/stop

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