Capturando alerta Javascript no controle do navegador da Web
-
05-07-2019 - |
Pergunta
Usando o controle webbrowswer para navegar em um site.Às vezes ocorrem erros que envolvem uma caixa pop-up javascript.Eu gostaria de fazer algumas coisas quando isso acontecer.
- Saiba quando um alerta javascript aparece.
Eu usei o evento LostFocus com algum sucesso, mas sempre que ele perde o foco, o código é executado, o que é irritante.
- Gostaria de saber o texto exato que diz a caixa de alerta.
Não tenho certeza de onde encontrar o objeto da caixa de alerta ou lançá-lo para uso em C#.Procurei por toda a internet e não encontrei.
Alguém tem alguma pista?
Solução
Se você deseja capturar apenas as caixas de diálogo de erro de script que aparecem, eu recomendaria capturar o janela.onerror Evento DOM.Se você atribuir um manipulador para este evento, a mensagem, o nome do arquivo (script) e o número da linha serão passados como argumentos, tudo isso mostrado na caixa de diálogo de erro que aparece.Observe que a maioria dos usuários tem as caixas de diálogo de erro de script desativadas por padrão, portanto, seria aconselhável respeitar isso se a finalidade pretendida for para um grande público.
Não tenho certeza se existe uma maneira mais fácil, só trabalhei com o antigo componente COM WebBrowser.
Outras dicas
Apenas faça isso:
window.alert = function(txt) {
// Do something
}
Isso permitirá que você faça um retorno de chamada ou qualquer outra coisa que desejar com o texto de alerta.