58

我需要确保当用户在 JavaScript 警报窗口中单击“确定”时,浏览器会移动到不同的 URL。这可能吗?

4

7 回答 7

77

“确定”是什么意思?

alert('message');
window.location = '/some/url';

在用户单击警报窗口中的“确定”后重定向用户。

于 2012-02-22T11:45:54.267 回答
51

我怀疑您的意思是在confirm窗口中(即是/否选项)。

if (window.confirm('Really go to another page?'))
{
    // They clicked Yes
}
else
{
    // They clicked no
}
于 2012-02-22T11:47:30.247 回答
19

警报不返回值,实际上返回undefined,所以我现在发现的最简单的方法是像这样调节警报

if(!alert("my text here")) document.location = 'http://stackoverflow.com/';

更好的方法是使用这样的 confirm() javascript函数

if(confirm("my text here")) document.location = 'http://stackoverflow.com/';

当然,另一种选择是自己发出警报

于 2012-02-22T11:49:50.380 回答
14

我认为你需要的是这样的:

if(confirm("Do u want to continue?")) {
    window.location.href = "/some/url"
}
于 2012-02-22T11:52:18.817 回答
7

alert()是的,只需在通话后立即重定向:

alert('blah blah');
location.href = '....';
于 2012-02-22T11:46:03.640 回答
1

如果它是为了可访问性,并且您想收听页面上的每个链接,而不是检查您是否将当前站点转移到另一个域,请查看我写的内容,扩展 Joe 的答案

        $('a').on('click', function() {

            if ( this.host !== window.location.host ) {
                if ( window.confirm('Really go to another page?') ) {
                    // They clicked Yes
                    console.log('you chose to leave. bye.');
                }
                else {
                    // They clicked no
                    console.log('you chose to stay here.');
                    return false
                }
            }
        }); 
于 2015-10-21T13:14:49.657 回答
0
Response.Write("<script Response.Write("<script 
language='javascript'>window.alert('Done');window.location='URL';</script>");
于 2019-10-06T20:15:12.563 回答