Kann ich den Endlos-Bildlauf für alle Websites deaktivieren?


20

Ich hasse Sites mit unendlichem Scrollen, vor allem, weil sie meinen gesamten RAM verbrauchen. Gibt es eine Möglichkeit, Websites davon zu überzeugen, nicht auf diese Weise zu laden? Vielleicht eine Browser-Erweiterung, die es wieder in separate Seiten umwandelt? Eine Möglichkeit, den Browser dazu zu bringen, zu melden, dass er das nicht unterstützt? Etwas, das ich deinstallieren könnte?


6
Sie können JavaScript deaktivieren. Aber alles andere wäre unmöglich, ohne dass die Website selbst Paging unterstützt.
Slhck

das spezifische Javascript blockieren, das das unendliche Scrollen verursacht?
Endolith

@endolith: Es gibt verschiedene Lösungen für verschiedene Websites, da jede Infinite Scroll anders implementiert. Bitte geben Sie an, welche der Hauptwebsites Probleme verursachen.
Harrymc

@harrymc Ich möchte alle blockieren. Eine Adblock-Filterliste, die beispielsweise so viele wie möglich blockiert.
Endolith

@endolith: Sie benötigen mehrere Adblock-Regeln für mehrere Websites. Und außerdem möchten Sie die Schriftrolle wirklich in die normalen Schaltflächen "Weiter" / "Zurück" konvertieren. Dies ist für einige Websites wie Wordpress verfügbar.
Harrymc

Antworten:


4

Es gibt mehrere überzeugende Gründe, warum die Antwort "nein" lautet.

Einige Websites fügen Inhalte dynamisch hinzu (z. B. Facebook), sobald Sie nach unten scrollen. Dies ist wahrscheinlich der Fall, nach dem Sie nicht suchen.

Andere Websites fügen Inhalte dynamisch und unabhängig von der Benutzerinteraktion hinzu (z. B. Scrollen). Im Prinzip könnten diese Probleme durch Verhindern / Drosseln der verantwortlichen Webverbindungen behoben werden, sobald die Seite voll ist. Es ist jedoch wahrscheinlich zum Scheitern verurteilt, dies transparent wieder zu aktivieren, falls Sie sich entscheiden, zur "nächsten Seite" zu wechseln, da zu erwarten ist, dass die Prozesse aufgrund von Zeitüberschreitungen aufgegeben haben.

Andererseits gibt es Seiten, die einfach viel Seiteninhalt ausgeben, vielleicht sogar statischen Inhalt. Der Client beendet möglicherweise einfach die Verbindung, sobald genügend Daten vorhanden sind, um einen Bildschirm voller Daten zu rendern. Dies bedeutet jedoch, dass Sie die Seite neu laden müssen, um zur "nächsten Seite" zu gelangen. Bei vielen Seiten würde dies zu einer großen Verschwendung von Bandbreite für unnötige Neuladungen führen. Dies kann auch bei Nebenwirkungen (wie Online-Bestellungen) unerwünscht sein. Alternativ kann der Client die TCP-Verbindung drosseln, bis Sie zur "nächsten Seite" wechseln. Ich fürchte, die Webserver da draußen werden mit einer solchen Lösung nicht glücklich sein (und Ihre Verbindung beenden), weil sie ihre verschwendenRessourcen. Wenn Sie in der Lage sein möchten, durch vorherige Seiten zu blättern, besteht weiterhin das Problem, dass Sie den gesamten Inhalt im RAM oder Cache behalten müssen.

Dennoch wäre eine weitere Alternative sein , um die Seite vollständig herunterladen und einfach angezeigt werden es seitenweise. Aber das entspricht dem, was Sie gerade haben: Blättern Sie durch eine lange Seite. Sie können nur hoffen, dass sich der größte Teil des Speicherbedarfs auf der Festplatte und nicht auf dem Arbeitsspeicher befindet. Daher ist diese Option möglicherweise nicht allzu weit verbreitet.

All dies berücksichtigt nicht, dass das Gesamtlayout möglicherweise mehr oder weniger Seiteninhalt erfordert, um zu entscheiden, wie die "Seiten" aussehen sollen oder wo Seiten aufgeteilt werden sollen.

Die einzige Möglichkeit, die ich sehe, besteht darin, Mechanismen zu verwenden, die die seitenweise Anzeige von nicht seitenweisen Inhalten von vornherein ermöglichen: das media:printStylen, das im Wesentlichen dem Herunterladen der Seite und dem Erstellen einer Druckvorschau gleichkommt. Möglicherweise haben Sie bereits festgestellt, dass viele Seiten in der Druck- oder Druckvorschau furchtbar angezeigt werden, obwohl Webentwicklern viele Gestaltungsoptionen zur Verfügung stehen, mit denen sie sich speziell mit Paging befassen können. Stellen Sie sich also vor, was Sie erhalten würden. Wenn man dies jedoch als Addon (z. B. Firefox) einsetzen würde, würde der Workflow so aussehen, dass die Seite heruntergeladen und dann wie in der Parint-Vorschau dargestellt wird. Ohne tief in die Eingeweide des Browsers einzudringen, wird dennoch die gesamte Seite im RAM gehalten, also nicht das, wonach Sie suchen.


4

Wenn Sie Firefox verwenden, können Sie das Add-On Kill Infinite Scroll (derzeit Version 0.79.4) verwenden.

Dieses Add-On wird beschrieben als:

Dies deaktiviert die von Tumblr und anderen Websites verwendete unendliche Schriftrolle. Insbesondere werden die Skripte von http://www.infinite-scroll.com (Version 1.4 und 2.0) lahmgelegt. Im Gegensatz zum Anti Tumblr Infinite Scroll-Add-On werden nur die ursprünglichen Schaltflächen Weiter und Zurück wiederhergestellt.

Ich bin der Meinung, dass das Wiederherstellen der Schaltflächen Weiter und Zurück der Zerstörung des Bildlaufs vorzuziehen ist, da der Bildlauf weiterhin möglich ist, die Speichernutzung jedoch nahezu konstant bleibt.

Andernfalls schlage ich vor, dass Sie, um den Bildlauf zu zerstören, eine Erweiterung wie NoScript verwenden sollten , um JavaScript auf allen Websites zu deaktivieren, mit Ausnahme derjenigen, denen Sie vertrauen (oder zumindest Javascript von Drittanbietern nicht zulassen) , anstatt Adblock zu verwenden . Dies ist eigentlich ein Abwehrmechanismus, den jeder gegen Drive-by-Browser-Viren verwenden sollte. Wenn Sie den Bildlauf vorübergehend wieder aktivieren möchten, können Sie dies tun, indem Sie vorübergehend Skripts zulassen (die so lange wirksam bleiben, bis der Browser geschlossen wird).


Ich habe in der Vergangenheit Noscript verwendet und es zerbricht zu viele Dinge, um sich zu lohnen. Yesscript ist wahrscheinlich eine gute Idee. Ich habe das eine Weile nicht mehr benutzt.
Endolith

@endolith: NoScript funktioniert bei mir sehr gut, nachdem ich einige häufig verwendete Skriptseiten dauerhaft zugelassen habe. Das Problem mit YesScript ist, dass standardmäßig alles durchgelassen wird, sodass der Virus installiert wird, bevor Sie es wissen.
Harrymc

1
In meiner Erfahrung hat noscript 90% gebrochen, wenn alles, was ich besucht habe und ich mehr Zeit damit verbracht habe, Skripte zuzulassen, als Websites anzuzeigen. Diese Frage ist über unendliche Schriftrolle nicht Viren
Endolith

4

Mit AdBlock / uBlock können Sie den Code blockieren, der die nächste Seite lädt. Das ist grob, funktioniert aber zum Beispiel:

! 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

Ich habe auch versucht, aber sie haben nicht funktioniert:

! 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

Aber jemand, der mit Adblock-Filterregeln gut ist (nicht ich), könnte eine Blockliste entwickeln, um das unendliche Scrollen auf vielen Websites zu blockieren.

Oder verwenden Sie Add-Ons oder Userscripts, um dieses Verhalten zu überschreiben und durch etwas Benutzerfreundlicheres zu ersetzen.

Dieses Add-On deaktiviert es auf Tumblr, zum Beispiel: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Es lädt immer noch automatisch eine neue Seite, wenn Sie erreichen Der untere Teil ist ärgerlich, ersetzt jedoch die aktuelle Seite, anstatt sie anzuhängen, und demonstriert einen Proof of Concept dessen, was existieren könnte .

Ich habe versucht, hier eine Liste zu erstellen, bin aber kein Experte für Adblock-Regeln:

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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.