Si chiamano popup quelle finestre che si aprono da sole mentre si sta navigando con il browser web preferito. La comparsa delle finestre popup può avvenire su esplicita richiesta dell’utente, ad esempio per l’attivazione di una specifica funzionalità offerta dal sito web, oppure – più di frequente – viene automaticamente innescata dal sito web che si sta visitando per esporre informazioni pubblicitarie.
Precisiamo subito che la visualizzazione di inserzioni pubblicitarie permette ai siti web di poter proseguire le proprie attività. Anche IlSoftware.it, offrendo tutte le risorse e tutti i suoi servizi a titolo completamente gratuito, si basa sull’esposizione di pubblicità.
Per quanto ci riguarda, agiamo sempre nel massimo rispetto dei nostri lettori evitando la visualizzazione di finestre popup e limitando le inserzioni a posizioni ben precise. È secondo noi il miglior modo per presentarsi agli utenti.
Capita sempre più spesso, tuttavia, di imbattersi in siti web che presentano inserzioni pubblicitarie inserite all’interno di popup che talvolta si aprono in veloce sequenza non permettendo neppure di capire quale sia la pagina effettivamente richiesta.
Sia Firefox che Chrome integrano una funzionalità per il blocco dei popup che però è in grado di impedire la visualizzazione di un ristretto numero di finestre a comparsa. Utilizzando speciale codice JavaScript, la maggior parte degli sviluppatori è infatti in grado di “dribblare” agevolmente il controllo popup di Firefox e Chrome permettendo la visualizzazione di popup e l’apertura di nuove schede, anche senza che l’utente ne faccia esplicita richiesta.
Usando eventi JavaScript come onclick
, onload
e onunload
è poi molto semplice provocare la visualizzazione di un popup nel momento in cui l’utente fa clic in un’area specifica della pagina web oppure in una zona esterna al corpo centrale.
Se capita spesso di trovarsi su siti web che sono soliti aprire, via a via, decine di popup, con quest’articolo vogliamo presentare una soluzione d’immediata implementazione che permette di bloccare automaticamente qualunque popup.
L’espediente che vi proponiamo si basa sull’utilizzo di Greasemonkey in Firefox e di Tampermonkey in Chrome.
Una volta che il browser ha provveduto a scaricare automaticamente tutto il codice che compone una pagina web (tag HTML, JavaScript, immagini, contenuti Flash,…), Greasemonkey dà modo di effettuare degli interventi in tempo reale su quanto ottenuto alterando ad esempio l’impostazione grafica od aggiungendo utili funzionalità. Il trucco consiste nel modificare il cosiddetto DOM (Document Object Model) ossia la struttura della pagina web.
L’estensione Greasemonkey consente così, in modo agevole, di intervenire sull’“estetica” e sul comportamento di qualunque pagina sulla base delle indicazioni contenute all’interno di semplici file in formato JavaScript, detti “userscript“.
Gli script Greasemonkey più comuni si occupano di spostare o modificare i contenuti visualizzati sul web a seconda delle esigenze dell’utente, di compilare automaticamente i moduli per l’inserimento di dati, di effettuare una comparazione delle informazioni provenienti da più siti diversi, di rimuovere paragrafi od immagini, di aggiungere pulsanti o link per ampliare le funzionalità offerte dai vari servizi sul web e così via.
Esiste addirittura un sito web, molto trafficato, che funge da punto di riferimento per tutti coloro che desiderano scaricare script per Greasemonkey: il suo nome è userscript.org e su base giornaliera conta decine di nuovi contributi, generalmente trasmessi da parte di programmatori indipendenti. [vedere nota in calce]
L’estensione Greasemonkey è stata originariamente concepita per Mozilla Firefox ma da numerose major release a questa parte essa è supportata, in modo predefinito, anche da Google Chrome e da Opera.
Per installare Greasemonkey in Firefox è sufficiente portarsi in questa pagina quindi cliccare sul pulsante Scarica ora.
Gli utenti di Google Chrome, invece, devono portarsi in questa pagina (Chrome Web Store) e fare clic sul pulsante “+FREE” o “+GRATIS” per avviare l’installazione.
È vero, infatti, che Greasemonkey è intregrato in Chrome ma permangono alcuni problemi di compatibilità con gli script che, grazie all’uso di Tampermonkey, possono essere brillantemente superati.
Dopo aver installato Greasemonkey in Firefox o Tampermonkey in Chrome, accanto alla barra degli indirizzi del browser compariranno le icone delle due estensioni.
Quella raffigurata nell’immagine che segue è l’icona di Greasemonkey in Firefox:
Di seguito, invece, l’icona di Tampermonkey su Chrome:
A questo punto si provveda a visitare questa pagina e si faccia clic sul pulsante Install in alto a destra.
Cliccando sul pulsante Install si caricherà lo script “The Ultimate Popup Blocker” (UPB) per Greasemonkey e Tampermonkey.
Si tratta di un eccellente script che consente di bloccare i popup che si aprono automaticamente sui siti Internet “neutralizzando” il metodo JavaScript più “gettonato” (window.open
).
Lo script UPB provvede a sostituire il codice richiamato dal metodo window.open
, eventualmente utilizzato nelle pagine web via a via caricate, impedendone di fatto il caricamento da parte del browser web.
Abbiamo voluto estendere il “raggio d’azione” dello script UPB ad altre funzioni JavaScript che di solito vengono egualmente usate per provocare l’apertura di finestre indesiderate.
In alcune pagine web, ad esempio, vengono mostrati falsi messaggi d’allerta che invitano ad installare codec ed aggiornamenti Flash e Java fasulli ed anzi estremamente pericolosi (vedere l’articolo dedicato ai “rogue software“: “Rogue software”: cosa sono e come si diffondono. Gli strumenti per rimuovere queste minacce e l’approfondimento Rimuovere programmi indesiderati: suggerimenti pratici).
Lo script modificato che vi proponiamo permette di scongiurare anche l’esposizione di tali falsi messaggi.
Per sostituire The Ultimate Popup Blocker con il codice dello script da noi modificato, in Firefox è sufficiente cliccare sull’icona di Greasemonkey quindi fare clic con il tasto destro del mouse sulla voce The Ultimate Popup Blocker.
A questo punto si dovrà eliminare tutto il codice presente nella finestra ed incollarvi quanto pubblicato in questo file di testo.
Al termine dell’operazione si dovrà fare clic sul pulsante Salva, in alto.
Nel caso di Chrome, invece, bisognerà cliccare sull’icona di Tampermonkey, selezionare Dashboard quindi cliccare sullo script The Ultimate Popup Blocker.
Anche qui si dovrà eliminare il codice originale dello script ed incollare quello pubblicato in questo file di testo.
Cliccando sull’icona a forma di dischetto, si potrà procedere con la memorizzazione delle modifiche.
D’ora in avanti, sia su Firefox che su Chrome, non appena si visiterà un qualunque sito web che faccia uso degli eventi JavaScript indicati, lo script Greasemonkey/Tampermonkey provocherà la comparsa di uno o più messaggi simili al seguente:
Per inserire un dominio nella “white list” (non verrà più bloccato alcunché), è sufficiente cliccare sui pulsanti corrispondenti tenendo presente che non sarà mostrato alcun messaggio di conferma.
– Nota importante: Aggiornamento del 27.08.2014 – Da qualche mese il sito web Userscripts.org non sembra essere più raggiungibile.
Ne è stata creata una copia (statica) all’indirizzo userscripts-mirror.org ed a questa abbiamo fatto riferimento nell’articolo.
Siti alternativi a Userscripts.org sono Greasy Fork ed OpenUserJS.
Altre alternative sono riportate a questo indirizzo.