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.