22

I hate sites with infinite scrolling, mostly because they use up all my RAM. Is there any way to convince websites not to load this way? Maybe a browser extension that turns it back into separate pages? A way to get the browser to report that it doesn't support it? Something I could uninstall?

6
  • 6
    You could disable JavaScript. But anything else would be impossible without the website itself supporting paging. – slhck Aug 16 '13 at 7:23
  • adblock the specific javascript that causes the infinite scrolling? – endolith Aug 20 '16 at 20:15
  • @endolith: There are different solutions for different websites, as each one implements infinite scroll differently. Please indicate which are the main website(s) which cause you problems. – harrymc May 26 '17 at 5:09
  • @harrymc I want to block all of them. An adblock filter list that blocks as many as possible, for instance. – endolith May 26 '17 at 14:49
  • @endolith: You will need multiple adblock rules for multiple sites. And in addition, what you really want is to convert the scroll into the normal Next/Previous buttons. This is available for some websites, like Wordpress. – harrymc May 26 '17 at 15:03
4

There are several convincing reasons why the answer is "no".

Some sites add content dynamically (e.g. facebook) the moment you scroll down, so these are probably the cases you are not after.

Other sites add content dynamically independent of user interaction (such as scrolling). In principle, these could be handled somehow by preventing/throttling the responsible web connections once the page is full. However, trying to reenable this transparently in case you decide to go to the "next page" is probably doomed as one may expect the processes to have given up because of timeouts.

Then again there are pages that simlpy output lots of page content, maybe even static content. The client might simply kill the connection once there is enough to render a screenfull of data, but that means that to get to the "next page", you'd have to start loading the page afresh. With many pages, this wuld cause a lot of wasted bandwidth for useless reloads; also this may not be desireable in case of side-effects (such as online orders). Alternatively, the client might throttle the TCP connection until you select to go to the "next page". I'm afraid the web servers out there won't be happy (and drop your connection) with such a solution because it wastes their resources. Moreover, if you want to be able to flip back through previous pages, you still have the problem of needing to keep the full content in RAM or cache.

Yet another alternative would be to download the page completely and simply display it pagewise. But that is equivalent to what you have right now: scroll through a long page. You might only hope that most part of the memory footprint is in disk instead of RAM, so maybe this option is not too far-fetched.

All this does not take into account that the overall layout may require more or less th efull page content to decide what the "pages" should look like or where to break pages.

The only really feasible way I see is to make use of mechanisms that allow for paged display of the a priori unpaged content: to use media:print styling, which would essentially amount to downloading the page and making a print preview. You may already have observed that many pages display awfully in print or print preview even though many styling options are available to web developers to address paging specifically, so imagine what you would get. However, if one were to employ this as a (e.g. Firefox) addon, the workflow would be that the page downloads and will then be presented like in parint preview. Without going deeply into the bowels of the browser, this will still result in the full page being held in RAM, so not what you are after.

4
+50

When using Firefox, one can use the add-on Kill Infinite Scroll, currently at version 0.79.4.

This add-on is described as :

This disables the infinite scroll used by Tumblr and other sites. In particular it cripples the scripts from http://www.infinite-scroll.com (version 1.4 and 2.0). Unlike the Anti Tumblr Infinite Scroll add-on, it just restores the original Next and Prev buttons.

I believe that restoring the Next and Prev buttons is preferable to just destroying the scroll, as one can still scroll but memory usage will stay just about constant.

Otherwise, to destroy the scroll, I suggest that rather than using Adblock, you might be better off using an extension like NoScript to disallow all javascript on all websites except for the ones you trust (or at least disallow third-party javascript). This is actually a defense mechanism that everyone should be using against drive-by-browser viruses. Whenever you would like to re-enable scroll temporarily, you may do that by temporarily allowing scripts (which stays in effect until the browser is closed).

3
  • I've used noscript in the past and it breaks too​ many things to be worthwhile. Yesscript is probably a good idea though. I haven't used that in a while. – endolith May 27 '17 at 14:13
  • @endolith: NoScript works very well for me after I permanently allowed some often-used script sites. The problem with YesScript is that by default it lets everything through, so the virus will be installed before you know it. – harrymc May 27 '17 at 14:39
  • 1
    In m experience noscript broke 90% if everything I visited and I spent more time allowing scripts than viewing sites. This question is about infinite scroll not viruses – endolith May 27 '17 at 15:02
4

You could use AdBlock/uBlock to block the code that loads the next page. This is crude, but works, for instance:

! Forbes infinite scroll (and all other AJAX) https://www.reddit.com/r/web_design/comments/4i6bpd/never_ending_scroll_down_on_some_websites_is_it_a/d2w3qj2
||forbes.com$xmlhttprequest

I also tried these but they did not work:

! Forbes infinite scroll https://adblockplus.org/forum/viewtopic.php?t=26583
||i.forbesimg.com/assets/img/loading_spinners/*
||forbesimg.com/scripts/combined/js/article-responsive*

! Bloomberg infinite scroll http://www.wilderssecurity.com/threads/ublock-origin-stopping-infinite-scrolling.379726/#post-2525404
bloomberg.com http://assets.bwbx.io/business/public/javascripts/application script block

But someone who is good with Adblock filter rules (not me) could develop a blocklist to block infinite scrolling on many sites.

Or use Add-Ons or Userscripts to override this behavior and replace it with something more user-friendly.

This Add-On kind of disables it on Tumblr, for instance: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ It still loads a new page automatically when you reach the bottom, which is annoying, but it replaces the current page instead of appending it, and demonstrates a proof of concept of what could exist.

I've tried starting a list here, but I'm not an expert at Adblock rules:

https://gist.github.com/endolith/72ac5e69e037be02b118adbedcdeac59/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.