Como posso desativar pop-ups / alertas de javascript no Chrome?

20

Desculpe se foi perguntado. Eu já encontrei várias soluções que não estão funcionando. Não tenho certeza do que estou fazendo de errado.

Não quero desativar todos os javascript, apenas caixas de alerta Javascript. Os que aparecem e forçam você a clicar em OK ou X para fechá-los.

Encontrei scripts de usuário que pretendem fazer isso (exemplo: http://userscripts.org/scripts/show/58252 ). Coloquei o chrome no canal dev, inicie o chrome com a opção --enable-user-scripts, o script aparece como instalado.

Mas ainda recebo as caixas de alerta.

Um exemplo de caixa de alerta que não está sendo desativada está em http://wordswithfriends.net/ - coloque qualquer palavra lixo no validador de palavras na barra lateral direita. Você recebe um pop-up dizendo que não é uma palavra.

CreeDorofl
fonte

Respostas:

17

A única maneira de desativar as caixas de alerta é instalar uma extensão ou um script de usuário. O script do usuário que você vinculou é para o Firefox Greasemonkey e não funciona no Chrome.

Além disso, a página com comportamento inadequado que você cita é sorrateira e executa esse "validador de palavras" em um iframecódigo com que dispara a alert()recarga de iframe imediatamente após a instalação.

Mas aqui está um script de usuário que o derrota:

// ==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 você realmente deseja desativar o ALL alerts()em TODAS as páginas (Não recomendado), exclua a // @matchlinha.

Brock Adams
fonte
7
Aceitei essa resposta com tanta força que meu mouse explodiu. Funciona como um encanto. Muito obrigado ^^ #
314 CreeDorofl
De nada! Feliz em ajudar.
Brock Adams
Por que não é recomendado desativar todos os alertas? Nunca encontrei alertas úteis, exceto "você realmente deseja sair desta guia" em páginas de progresso não salvas.
Coretek
Não funciona se a página mostra alertas durante o carregamento.
riv
@riv, abra uma nova pergunta se você tiver um caso em que não funcione. Certifique-se de fornecer uma receita completa para duplicar o problema.
Brock Adams
2

pelo menos uma extensão para isso na Chrome Web Store . Funciona para mim, mesmo que pareça um pouco suspeito que tenha um suporte opcional pelo modo de anúncios que você pode desativar na página de configurações. (Não encontrei a configuração, mas achei que não poderia prejudicar o roteamento nulo api.s13.us.)

ecmanaut
fonte
0

Se você está procurando uma ferramenta para isso e não quer mexer com os scripts do usuário - existe uma boa ferramenta que pode lidar com qualquer pop-up irritante em um sistema Windows - ClickOff . Você pode baixá-lo aqui . Eu verifiquei, ele funciona com o alerta "Alterações que você fez não podem ser salvas" para sites do SharePoint.

Serhiy
fonte
isso parece interessante, pois seria legal remover pop-ups irritantes em geral. Permite especificar exatamente que tipo de diálogo você deseja automaticamente OK / cancelar, ou de alguma forma os escolhe sozinho?
CreeDorofl 31/03/19
Sim, você pode especificar em quais caixas de diálogo fechar e no botão em que clicar.
Serhiy