题
我想在警报对话框中放置一个网页链接,以便我可以更详细地描述如何修复导致创建对话框的错误。
我怎样才能让对话框显示如下内容:
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 来执行此操作:
或者使用 window.open 并将 链接在那里.
即使你可以, alert()
框通常是模态的 - 因此从其中打开的任何页面都必须在新窗口中打开。恼人的!
alert("There was an error. Got to this page to fix it.\nwww.TheWebPageToFix.com");
这是 JavaScript 所能做到的最好的事情 alert()
. 。您的替代选择是尝试打开一个看起来像对话框的新小窗口。使用 IE 可以打开它模式。
不隶属于 StackOverflow