Czy mogę wyłączyć nieskończone przewijanie dla wszystkich stron?


21

Nienawidzę witryn z nieskończonym przewijaniem, głównie dlatego, że zajmują całą moją pamięć RAM. Czy jest jakiś sposób, aby przekonać strony internetowe, aby nie ładowały się w ten sposób? Może rozszerzenie przeglądarki, które zamienia je z powrotem w osobne strony? Czy chcesz, aby przeglądarka zgłosiła, że ​​go nie obsługuje? Coś co mogę odinstalować?


6
Możesz wyłączyć JavaScript. Ale wszystko inne byłoby niemożliwe bez samej strony obsługującej stronicowanie.
slhck 16.08.13

adblock konkretnego javascript, który powoduje nieskończone przewijanie?
endolith,

@endolith: Istnieją różne rozwiązania dla różnych stron internetowych, ponieważ każda z nich inaczej wdraża nieskończone przewijanie. Proszę wskazać, które są główne strony internetowe, które powodują problemy.
harrymc

@harrymc Chcę zablokować je wszystkie. Na przykład lista filtrów Adblock, która blokuje jak najwięcej.
endolith

@endolith: Będziesz potrzebował wielu reguł Adblock dla wielu witryn. Ponadto naprawdę chcesz przekonwertować zwój na normalne przyciski Następny / Poprzedni. Jest to dostępne dla niektórych stron internetowych, takich jak Wordpress.
harrymc

Odpowiedzi:


4

Istnieje kilka przekonujących powodów, dla których odpowiedź brzmi „nie”.

Niektóre witryny dynamicznie dodają treść (np. Facebook) w momencie przewijania w dół, więc prawdopodobnie nie ma takich przypadków.

Inne witryny dodają treść dynamicznie niezależnie od interakcji użytkownika (takich jak przewijanie). Zasadniczo można je w jakiś sposób rozwiązać, zapobiegając / ograniczając odpowiedzialne połączenia internetowe, gdy strona jest pełna. Jednak próba ponownego włączenia tej opcji w przejrzysty sposób, jeśli zdecydujesz się przejść do „następnej strony”, jest prawdopodobnie skazana na niepowodzenie, ponieważ można oczekiwać, że procesy zrezygnują z powodu przekroczenia limitu czasu.

Z drugiej strony istnieją strony, które w prosty sposób generują dużo zawartości strony, a może nawet zawartość statyczną. Klient może po prostu zabić połączenie, gdy będzie wystarczająca ilość, aby wyświetlić pełny ekran danych, ale oznacza to, że aby przejść do „następnej strony”, należy rozpocząć ładowanie strony od nowa. Przy wielu stronach powoduje to dużo zmarnowanej przepustowości dla bezużytecznych przeładowań; może to również nie być pożądane w przypadku skutków ubocznych (takich jak zamówienia online). Alternatywnie klient może dławić połączenie TCP, dopóki nie przejdziesz do „następnej strony”. Obawiam się, że serwery internetowe nie będą zadowolone (i nie zerwą połączenia) z takim rozwiązaniem, ponieważ marnuje jezasoby. Ponadto, jeśli chcesz mieć możliwość przewijania poprzednich stron, nadal masz problem z utrzymaniem pełnej zawartości pamięci RAM lub pamięci podręcznej.

Jeszcze inną alternatywą byłoby całkowite pobranie strony i po prostu wyświetlenie strony. Ale to jest równoważne z tym, co masz teraz: przewiń długą stronę. Możesz mieć tylko nadzieję, że większość pamięci zajmuje dysk zamiast pamięci RAM, więc może ta opcja nie jest zbyt daleko idąca.

Wszystko to nie bierze pod uwagę, że ogólny układ może wymagać mniej więcej całej zawartości strony, aby zdecydować, jak powinny wyglądać „strony” lub gdzie należy rozbić strony.

Jedyny naprawdę realny sposób, jaki widzę, to wykorzystanie mechanizmów, które pozwalają na wyświetlanie stronicowanej treści niestronicowanej a priori: użycie media:printstylu, który zasadniczo sprowadzałby się do pobrania strony i wykonania podglądu wydruku. Być może już zauważyłeś, że wiele stron wyświetla się okropnie w druku lub podglądzie wydruku, mimo że twórcy stron internetowych mają do dyspozycji wiele opcji stylizacji, aby adresować strony, więc wyobraź sobie, co byś otrzymał. Gdyby jednak zastosować to jako dodatek (np. Firefox), przepływ pracy byłby taki, że strona jest pobierana, a następnie prezentowana jak w podglądzie parint. Bez wchodzenia w głąb wnętrza przeglądarki nadal spowoduje to przechowywanie całej strony w pamięci RAM, więc nie to, czego szukasz.


4

Korzystając z przeglądarki Firefox, można użyć dodatku Kill Infinite Scroll , obecnie w wersji 0.79.4.

Ten dodatek jest opisany jako:

Wyłącza to nieskończony zwój używany przez Tumblr i inne strony. W szczególności okalecza skrypty ze strony http://www.infinite-scroll.com (wersja 1.4 i 2.0). W przeciwieństwie do dodatku Anti Tumblr Infinite Scroll, przywraca on oryginalne przyciski Następny i Poprzedni.

Uważam, że przywrócenie przycisków Dalej i Wstecz jest lepsze niż zniszczenie zwoju, ponieważ nadal można przewijać, ale zużycie pamięci pozostanie prawie stałe.

W przeciwnym razie, aby zniszczyć zwój, sugeruję, że zamiast używać Adblocka, lepiej byłoby użyć rozszerzenia takiego jak NoScript, aby wyłączyć wszystkie javascript na wszystkich stronach internetowych, z wyjątkiem tych, którym ufasz (lub przynajmniej zabezpieczyć javascript stron trzecich). Jest to tak naprawdę mechanizm obronny, z którego wszyscy powinni korzystać przed wirusami drive-by-browser. Ilekroć chcesz tymczasowo ponownie włączyć przewijanie, możesz to zrobić, tymczasowo zezwalając na skrypty (które działają do momentu zamknięcia przeglądarki).


W przeszłości korzystałem z noscript i łamie on zbyt wiele rzeczy, aby było warto. Yesscript jest jednak prawdopodobnie dobrym pomysłem. Dawno tego nie używałem.
endolith

@endolith: NoScript działa dla mnie bardzo dobrze po tym, jak na stałe zezwoliłem na niektóre często używane witryny ze skryptami. Problem z YesScript polega na tym, że domyślnie przepuszcza wszystko, więc wirus zostanie zainstalowany, zanim się zorientujesz.
harrymc

1
Z mego doświadczenia noscript złamał 90%, jeśli wszystko, co odwiedziłem i spędziłem więcej czasu na skryptach niż przeglądaniu stron. To pytanie dotyczy nieskończonego zwoju, a nie wirusów
endolith

4

Możesz użyć AdBlock / uBlock, aby zablokować kod ładujący następną stronę. Jest to prymitywne, ale działa na przykład:

! 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

Próbowałem też tych, ale one nie działały:

! 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

Ale ktoś, kto jest dobry w regułach filtrowania Adblock (nie ja), może stworzyć listę bloków, aby zablokować nieskończone przewijanie w wielu witrynach.

Lub użyj dodatków lub skryptów użytkownika, aby zastąpić to zachowanie i zastąpić je bardziej przyjaznym dla użytkownika.

Ten rodzaj dodatku wyłącza go na Tumblr, na przykład: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Nadal ładuje nową stronę automatycznie po osiągnięciu dół, co jest denerwujące, ale zastępuje bieżącą stronę zamiast jej dołączać i pokazuje dowód na to, co może istnieć.

Próbowałem założyć listę tutaj, ale nie jestem ekspertem od zasad Adblock:

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.