Come posso disabilitare popup JavaScript / avvisi in Chrome?


20

Scusate se è stato chiesto. Ho già trovato diverse soluzioni che non funzionano. Non sei sicuro di quello che sto facendo male.

Non voglio disabilitare tutti i javascript, solo le caselle di avviso JavaScript. Quelli che compaiono e ti costringono a fare clic su OK o X per chiuderli.

Ho trovato gli script utente che pretendono di fare questo (esempio: http://userscripts.org/scripts/show/58252 ). Ho messo Chrome sul canale dev, avviare cromato con il --enable-user-script interruttore, gli spettacoli di script come installato.

Ma ho ancora le caselle di avviso.

Una finestra di avviso di esempio che non sta ottenendo disabile è a http://wordswithfriends.net/ - mettere in qualsiasi parola spazzatura nella parola validatore sulla barra laterale destra. Si ottiene un popup che ti dice che non è una parola.

Risposte:


17

L'unico modo per disabilitare le caselle di avviso è installare un'estensione o uno script utente. Lo script utente che hai collegato è per Firefox Greasemonkey e non funzionerà su Chrome.

Inoltre, la pagina di comportamento scorretto che citi è subdola ed esegue quel "validatore di parole" in un iframecodice with che attiva alert()immediatamente l'iframe ricaricare.

Ma ecco uno script utente che lo sconfigge:

// ==UserScript==
// @name        Wordswithfriends, Block javascript alerts
// @match       http://wordswithfriends.net/*
// @run-at      document-start
// ==/UserScript==

addJS_Node (null, null, overrideSelectNativeJS_Functions);

function overrideSelectNativeJS_Functions () {
    window.alert = function alert (message) {
        console.log (message);
    }
}

function addJS_Node (text, s_URL, funcToRun) {
    var D                                   = document;
    var scriptNode                          = D.createElement ('script');
    scriptNode.type                         = "text/javascript";
    if (text)       scriptNode.textContent  = text;
    if (s_URL)      scriptNode.src          = s_URL;
    if (funcToRun)  scriptNode.textContent  = '(' + funcToRun.toString() + ')()';

    var targ = D.getElementsByTagName ('head')[0] || D.body || D.documentElement;
    targ.appendChild (scriptNode);
}

Se vuoi veramente disabilitare TUTTO alerts()su TUTTE le pagine (Non raccomandato), allora cancella la // @matchlinea.


7
Ho accettato questa risposta così forte che il mio mouse è esploso. Funziona come un fascino. Grazie mille ^^
CreeDorofl

Prego! Felice di aiutare.
Brock Adams

Perché non è consigliabile disabilitare tutti gli avvisi? Non ho mai ricevuto avvisi utili tranne "vuoi davvero uscire da questa scheda" su pagine di avanzamento non salvate.
Coretek

Non funziona se la pagina mostra avvisi durante il caricamento.
RIV

@riv, apri una nuova domanda se hai un caso in cui non funziona. Assicurarsi di fornire una ricetta completa per la duplicazione del problema.
Brock Adams

2

Esiste almeno un'estensione per questo nel Chrome Web Store . Lavora per me, anche se suona un po 'sospetto che ha un supporto opzionale per la modalità annunci è possibile disattivare nella sua pagina delle impostazioni. (Non ho trovato l'impostazione, ma pensato che non poteva male nulla di routing api.s13.us.)


0

Se stai cercando uno strumento per questo e non vuoi fare confusione con gli script utente - c'è un bel strumento che può gestire qualsiasi fastidioso popup su un sistema Windows - ClickOff . Puoi scaricarlo da qui . Ho controllato, funziona con "modifiche apportate potrebbero non essere salvate" avviso per i siti di SharePoint.


questo sembra interessante, come pop-up di errore fastidioso sarebbe bello per rimuovere in generale. Ti consente di specificare esattamente quale tipo di dialoghi vuoi automaticamente OK / Annulla, o in qualche modo li sceglie da solo?
CreeDorofl

Sì, è possibile specificare quali dialoghi per chiudere e il pulsante per fare clic.
Serhiy,
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.