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

我怎样才能让对话框显示如下内容:

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

谢谢。

有帮助吗?

解决方案

您可以尝试询问他们是否希望通过 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");

其他提示

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

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

  • window.open() - 制作你自己的对话框
  • 使用 prompt() 并指示用户复制 url
  • 使用 JavaScript 将它们直接导航到 url(也许在使用 confirm() 去问他们)
  • 包括一个 div 在您的页面上使用 [FIX IT] 按钮并将其取消隐藏
  • 使用 JavaScript 将修复 URL 放入用户的剪贴板(不推荐)

如果你 真的 想要的话,你可以覆盖默认行为 alert() 功能。没说你 应该 做这个。

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

基于 YUI 的警报框 - 取代丑陋的 JavaScript 警报框

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

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

alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top