4

我想在警告对话框中放置一个网页链接,以便更详细地说明如何修复导致创建对话框的错误。

如何使对话框显示如下内容:

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

谢谢。

4

7 回答 7

9

你不能。警报框不支持 html。您应该将错误显示为页面的一部分,无论如何它比 JS 警报更好。

于 2008-09-11T17:55:52.490 回答
6

如果你真的想要,你可以覆盖alert()函数的默认行为。不是说你应该这样做。

这是一个使用 YUI 库的示例,但您不必使用 YUI 来执行此操作:

基于 YUI 的警报框 - 替换你丑陋的 JavaScript 警报框

于 2008-09-11T18:07:05.847 回答
6

你不能 - 但这里有一些选择:

  • window.open()- 制作自己的对话
  • 使用prompt()并指导用户复制 url
  • 使用 JavaScript 直接将它们导航到 url(可能在使用confirm()后询问它们)
  • 在您的页面上包含div一个 [FIX IT] 按钮并取消隐藏它
  • 使用 JavaScript 将修复它的 URL 放入用户的剪贴板(不推荐)
于 2008-09-11T18:08:23.147 回答
5

您可以尝试通过 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");
于 2008-09-11T18:40:03.130 回答
2

或使用 window.open 并将链接放在那里

于 2008-09-11T17:58:34.837 回答
2

即使可以,alert()框通常也是模态的 - 因此从一个打开的任何页面都必须在新窗口中打开。恼人的!

于 2008-09-11T17:58:40.080 回答
2
alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");

这是您可以从 JavaScript 中做的最好的事情alert()。您的替代选择是尝试打开一个看起来像对话框的新小窗口。用 IE 你可以打开它的模态。

于 2008-09-11T17:59:25.180 回答