我可以禁用所有站点的无限滚动吗?

fbo*_*fbo 22 browser

我讨厌无限滚动的网站,主要是因为它们用光了我所有的内存。有什么方法可以说服网站不要以这种方式加载吗?也许是一个浏览器扩展,可以把它变成单独的页面?一种让浏览器报告它不支持它的方法?我可以卸载什么?

Hag*_*zen 4

答案是否定的,有几个令人信服的理由。

有些网站会在您向下滚动时动态添加内容(例如 Facebook),因此您可能不希望出现这些情况。

其他站点独立于用户交互(例如滚动)动态添加内容。原则上,一旦页面已满,可以通过阻止/限制负责任的网络连接来以某种方式处理这些问题。然而,如果您决定转到“下一页”,尝试透明地重新启用此功能可能注定会失败,因为人们可能会认为进程会因超时而放弃。

然后,有些页面只是简单地输出大量页面内容,甚至可能是静态内容。一旦有足够的数据来呈现满屏的数据,客户端可能会简单地终止连接,但这意味着要到达“下一页”,您必须重新开始加载页面。对于很多页面,这会导致大量带宽浪费,用于无用的重新加载;如果出现副作用(例如在线订单),这也可能是不可取的。或者,客户端可能会限制 TCP 连接,直到您选择转到“下一页”。我担心外面的网络服务器不会对这样的解决方案感到高兴(并断开连接),因为它浪费了他们的资源。此外,如果您希望能够翻回之前的页面,您仍然需要将完整内容保留在 RAM 或缓存​​中。

另一种选择是完全下载页面并简单地按页显示它。但这相当于您现在所拥有的:滚动浏览长页面。您可能只希望大部分内存占用位于磁盘而不是 RAM 中,所以也许这个选项并不太牵强。

所有这些都没有考虑到整体布局可能需要或多或少的完整页面内容来决定“页面”应该是什么样子或在哪里分页。

我认为唯一真正可行的方法是利用允许先验未分页内容进行分页显示的机制:使用media:print样式,这本质上相当于下载页面并进行打印预览。您可能已经注意到,尽管 Web 开发人员可以使用许多样式选项来专门解决分页问题,​​但许多页面在打印或打印预览中显示得很糟糕,所以想象一下您会得到什么。但是,如果将其用作(例如 Firefox)插件​​,则工作流程将是页面下载,然后像在父预览中一样呈现。如果不深入浏览器的内部,这仍然会导致整个页面被保存在 RAM 中,所以这不是您想要的。