Posso disabilitare lo scorrimento infinito per tutti i siti?


21

Odio i siti con scrolling infinito, principalmente perché usano tutta la mia RAM. Esiste un modo per convincere i siti Web a non caricare in questo modo? Forse un'estensione del browser che la trasforma in pagine separate? Un modo per convincere il browser a segnalare che non lo supporta? Qualcosa che potrei disinstallare?


6
È possibile disabilitare JavaScript. Ma qualsiasi altra cosa sarebbe impossibile senza il sito Web stesso che supporta il paging.
slhck,

adblock il javascript specifico che causa lo scrolling infinito?
endolith

@endolith: esistono diverse soluzioni per siti Web diversi, poiché ognuno implementa lo scorrimento infinito in modo diverso. Indica quali sono i siti Web principali che causano problemi.
harrymc,

@harrymc Voglio bloccarli tutti. Un elenco di filtri di blocco degli annunci che blocca il maggior numero possibile, ad esempio.
endolito

@endolith: avrai bisogno di più regole di blocco degli annunci per più siti. Inoltre, ciò che vuoi veramente è convertire lo scorrimento nei normali pulsanti Avanti / Indietro. Questo è disponibile per alcuni siti Web, come Wordpress.
harrymc,

Risposte:


4

Ci sono diverse ragioni convincenti per cui la risposta è "no".

Alcuni siti aggiungono contenuti dinamicamente (ad es. Facebook) nel momento in cui scorri verso il basso, quindi questi sono probabilmente i casi che non stai cercando.

Altri siti aggiungono contenuti dinamicamente indipendenti dall'interazione dell'utente (come lo scorrimento). In linea di principio, questi potrebbero essere gestiti in qualche modo impedendo / limitando le connessioni web responsabili una volta che la pagina è piena. Tuttavia, provare a riattivarlo in modo trasparente nel caso in cui si decida di passare alla "pagina successiva" è probabilmente condannato poiché ci si potrebbe aspettare che i processi si siano arresi a causa dei timeout.

Poi di nuovo ci sono pagine che semplificano l'output di molto contenuto della pagina, forse anche contenuto statico. Il client potrebbe semplicemente interrompere la connessione una volta che è sufficiente per visualizzare una schermata di dati, ma ciò significa che per accedere alla "pagina successiva", dovresti iniziare a caricare la pagina da capo. Con molte pagine, ciò potrebbe causare una notevole perdita di banda per ricariche inutili; anche questo potrebbe non essere desiderabile in caso di effetti collaterali (come ordini online). In alternativa, il client potrebbe limitare la connessione TCP fino a quando non si sceglie di passare alla "pagina successiva". Temo che i server web là fuori non saranno felici (e lasceranno cadere la tua connessione) con una soluzione del genere perché spreca la lororisorse. Inoltre, se vuoi essere in grado di sfogliare le pagine precedenti, hai ancora il problema di dover conservare l'intero contenuto nella RAM o nella cache.

Un'altra alternativa sarebbe quella di scaricare completamente la pagina e semplicemente visualizzarla a pagine. Ma questo equivale a quello che hai in questo momento: scorrere una lunga pagina. Potresti solo sperare che la maggior parte dell'ingombro della memoria sia nel disco anziché nella RAM, quindi forse questa opzione non è troppo inverosimile.

Tutto ciò non tiene conto del fatto che il layout generale potrebbe richiedere più o meno l'intero contenuto della pagina per decidere come dovrebbero essere le "pagine" o dove interrompere le pagine.

L'unico modo davvero fattibile che vedo è di utilizzare meccanismi che consentano la visualizzazione paginata del contenuto non a pagori a priori: utilizzare lo media:printstile, che equivarrebbe essenzialmente a scaricare la pagina e fare un'anteprima di stampa. Potresti già aver notato che molte pagine vengono visualizzate in modo terribile nella stampa o nell'anteprima di stampa anche se molte opzioni di stile sono disponibili per gli sviluppatori Web per indirizzare in modo specifico il paging, quindi immagina cosa otterrai. Tuttavia, se si impiegasse questo come componente aggiuntivo (ad es. Firefox), il flusso di lavoro sarebbe che la pagina venga scaricata e quindi presentata come in anteprima parint. Senza andare in profondità nelle viscere del browser, ciò comporterà comunque la conservazione della pagina intera nella RAM, quindi non quello che stai cercando.


4

Quando si utilizza Firefox, è possibile utilizzare il componente aggiuntivo Kill Infinite Scroll , attualmente alla versione 0.79.4.

Questo componente aggiuntivo è descritto come:

Questo disabilita lo scroll infinito utilizzato da Tumblr e altri siti. In particolare paralizza gli script da http://www.infinite-scroll.com (versione 1.4 e 2.0). A differenza del componente aggiuntivo Anti Tumblr Infinite Scroll, ripristina solo i pulsanti Avanti e Indietro originali.

Credo che il ripristino dei pulsanti Avanti e Indietro sia preferibile al solo distruggere lo scorrimento, poiché è ancora possibile scorrere, ma l'utilizzo della memoria rimarrà pressoché costante.

Altrimenti, per distruggere lo scroll, suggerisco che invece di utilizzare Adblock, potresti stare meglio usando un'estensione come NoScript per impedire tutto il javascript su tutti i siti Web tranne quelli di cui ti fidi (o almeno non consentire il javascript di terze parti). Questo è in realtà un meccanismo di difesa che tutti dovrebbero usare contro i virus drive-by-browser. Ogni volta che desideri riattivare temporaneamente lo scorrimento, puoi farlo autorizzando temporaneamente gli script (che rimangono attivi fino alla chiusura del browser).


Ho usato noscript in passato e rompe troppe cose per essere utili. Tuttavia, Yesscript è probabilmente una buona idea. Non lo uso da un po '.
endolito

@endolith: NoScript funziona molto bene per me dopo che ho autorizzato in modo permanente alcuni siti di script di uso frequente. Il problema con YesScript è che per impostazione predefinita lascia passare tutto, quindi il virus verrà installato prima che tu lo sappia.
harrymc,

1
In m experience noscript si è rotto del 90% se tutto quello che ho visitato e ho trascorso più tempo a consentire script che a visualizzare siti. Questa domanda riguarda lo scroll infinito e non i virus
endolite del

4

È possibile utilizzare AdBlock / uBlock per bloccare il codice che carica la pagina successiva. Questo è rozzo, ma funziona, ad esempio:

! 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

Ho anche provato questi ma non hanno funzionato:

! 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

Ma qualcuno che è bravo con le regole del filtro Adblock (non io) potrebbe sviluppare una blocklist per bloccare lo scorrimento infinito su molti siti.

Oppure usa i componenti aggiuntivi o gli script utente per ignorare questo comportamento e sostituirlo con qualcosa di più user-friendly.

Questo tipo di componente aggiuntivo lo disabilita su Tumblr, ad esempio: https://addons.mozilla.org/en-US/firefox/addon/anti-tumblr-infinite-scroll/ Carica ancora una nuova pagina automaticamente quando raggiungi il fondo, che è fastidioso, ma sostituisce la pagina corrente invece di aggiungerla, e dimostra una prova del concetto di ciò che potrebbe esistere.

Ho provato a iniziare un elenco qui, ma non sono un esperto delle regole di Adblock:

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.