Comment mettre un lien vers une page Web dans une boîte de dialogue Alerte JScript ?
-
09-06-2019 - |
Question
Je voudrais mettre un lien vers une page Web dans une boîte de dialogue d'alerte afin de pouvoir donner une description plus détaillée de la façon de corriger l'erreur qui provoque la création de la boîte de dialogue.
Comment puis-je faire en sorte que la boîte de dialogue affiche quelque chose comme ceci :
There was an error. Go to this page to fix it.
wwww.TheWebPageToFix.com
Merci.
La solution
Vous pouvez essayer de leur demander s'ils souhaitent visiter via window.prompt :
if(window.prompt('Do you wish to visit the following website?','http://www.google.ca'))
location.href='http://www.google.ca/';
De plus, Internet Explorer prend en charge les boîtes de dialogue modales, vous pouvez donc essayer d'en afficher une :
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");
Autres conseils
Vous ne pouvez pas.Les boîtes d'alerte ne prennent pas en charge le HTML.Vous devriez afficher l'erreur dans le cadre de la page, c'est de toute façon plus agréable que les alertes JS.
Vous ne pouvez pas, mais voici quelques options :
window.open()
- créez votre propre dialogue- Utiliser
prompt()
et demandez à l'utilisateur de copier l'URL - Utilisez JavaScript pour les diriger directement vers l'URL (peut-être après avoir utilisé
confirm()
leur demander) - Inclure un
div
sur votre page avec un bouton [FIX IT] et affichez-le - Utilisez JavaScript pour mettre une URL de correction dans le presse-papiers de l'utilisateur (non recommandé)
Si tu vraiment vous le souhaitiez, vous pouvez remplacer le comportement par défaut du alert()
fonction.Je ne te dis pas devrait fais ça.
Voici un exemple qui utilise la bibliothèque YUI, mais vous n'avez pas besoin d'utiliser YUI pour le faire :
Boîte d'alerte basée sur YUI - remplacez votre vilaine boîte d'alerte JavaScript
Ou utilisez window.open et mettez le lien ici.
Même si tu pouvais, alert()
les boîtes sont généralement modales - donc toute page ouverte à partir d'une seule devrait s'ouvrir dans une nouvelle fenêtre.Ennuyeux!
alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");
C'est le mieux que vous puissiez faire avec un JavaScript alert()
.Votre option alternative consiste à essayer d’ouvrir une nouvelle petite fenêtre qui ressemble à une boîte de dialogue.Avec IE, vous pouvez l'ouvrir modal.