Como coloco um link para uma página da Web em uma caixa de diálogo de alerta JScript?
-
09-06-2019 - |
Pergunta
Gostaria de colocar um link para uma página da Web em uma caixa de diálogo de alerta para poder fornecer uma descrição mais detalhada de como corrigir o erro que faz com que a caixa de diálogo seja criada.
Como posso fazer com que a caixa de diálogo mostre algo assim:
There was an error. Go to this page to fix it.
wwww.TheWebPageToFix.com
Obrigado.
Solução
Você pode tentar perguntar se eles desejam visitar via window.prompt:
if(window.prompt('Do you wish to visit the following website?','http://www.google.ca'))
location.href='http://www.google.ca/';
Além disso, o Internet Explorer oferece suporte a caixas de diálogo modais, então você pode tentar mostrar uma delas:
if (window.showModalDialog)
window.showModalDialog("mypage.html","popup","dialogWidth:255px;dialogHeight:250px");
else
window.open("mypage.html","name","height=255,width=250,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,modal=yes");
Outras dicas
Você não pode.As caixas de alerta não suportam HTML.Você deve exibir o erro como parte da página; de qualquer maneira, é melhor que os alertas JS.
Você não pode - mas aqui estão algumas opções:
window.open()
- crie seu próprio diálogo- Usar
prompt()
e instrua o usuário a copiar o URL - Use JavaScript para navegar diretamente até o URL (talvez depois de usar
confirm()
perguntar a eles) - Incluir um
div
na sua página com um botão [FIX IT] e exiba-o - Use JavaScript para colocar um URL de correção na área de transferência do usuário (não recomendado)
Se você realmente quisesse, você poderia substituir o comportamento padrão do alert()
função.Não estou dizendo que você deve fazem isto.
Aqui está um exemplo que usa a biblioteca YUI, mas você não precisa usar YUI para fazer isso:
Caixa de alerta baseada em YUI - substitua sua feia caixa de alerta JavaScript
Ou use window.open e coloque o link aí.
Mesmo se você pudesse, alert()
as caixas geralmente são modais - portanto, qualquer página aberta em uma delas teria que abrir em uma nova janela.Chato!
alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");
Isso é o melhor que você pode fazer com um JavaScript alert()
.Sua opção alternativa é tentar abrir uma nova janela minúscula que se parece com uma caixa de diálogo.Com o IE você pode abri-lo modal.