Как поместить ссылку на веб-страницу в диалоговом окне JScript Alert? - PullRequest
4 голосов
/ 11 сентября 2008

Я хотел бы поместить ссылку на веб-страницу в диалоговом окне предупреждения, чтобы я мог дать более подробное описание того, как исправить ошибку, из-за которой диалоговое окно создается.

Как сделать так, чтобы диалоговое окно показывало что-то вроде этого:

There was an error.  Go to this page to fix it.
wwww.TheWebPageToFix.com 

Спасибо.

Ответы [ 7 ]

9 голосов
/ 11 сентября 2008

Вы не можете. Оповещения не поддерживают HTML. Вы должны отобразить ошибку как часть страницы, в любом случае она лучше, чем JS.

6 голосов
/ 11 сентября 2008

Вы не можете - но вот несколько вариантов:

  • window.open() - создайте свой собственный диалог
  • Используйте prompt() и поручите пользователю скопировать URL
  • Используйте JavaScript, чтобы просто перейти к URL-адресу напрямую (возможно, после использования confirm(), чтобы спросить их)
  • Добавьте на свою страницу div с помощью кнопки [FIX IT] и раскройте ее
  • Используйте JavaScript, чтобы поместить исправленный URL в буфер обмена пользователя (не рекомендуется)
6 голосов
/ 11 сентября 2008

Если вы действительно хотели, вы можете переопределить поведение по умолчанию для функции alert(). Не говорю, что вы должны сделать это.

Вот пример, в котором используется библиотека YUI, но для этого не нужно использовать YUI:

Окно предупреждений на основе YUI - замените свое уродливое окно предупреждений JavaScript

5 голосов
/ 11 сентября 2008

Вы можете попробовать спросить их, хотят ли они посетить через window.prompt:

if(window.prompt('Do you wish to visit the following website?','http://www.google.ca'))
  location.href='http://www.google.ca/';

Кроме того, Internet Explorer поддерживает модальные диалоговые окна, поэтому вы можете попробовать показать один из них:

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");
2 голосов
/ 11 сентября 2008
alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");

Это лучшее, что вы можете сделать из JavaScript alert(). Ваш альтернативный вариант - попытаться открыть новое крошечное окно, которое выглядит как диалог. С IE вы можете открыть его модально.

2 голосов
/ 11 сентября 2008

Даже если бы вы могли, поля alert() обычно бывают модальными, поэтому любая страница, открытая из нее, должна открываться в новом окне. Досадно!

2 голосов
/ 11 сентября 2008

Или используйте window.open и поместите туда ссылку .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...