2010-02-24 66 views
12

onclick="history.go(-1);return false;"用户可以导航到后台页面。但是,如果我想在确定方法将用户带到后面之前进行确认。我会怎么做?如何设置JavaScript重定向发送用户到后台页面?看代码

我认为这可以通过做下面的事情来实现,但我不知道如何将用户重定向到后台页面?

$('.clickme').click(function() { 
    if(confirm("Are you sure you want to navigate away from this page?")) 
    { 
     //window.close(); 
     // how to redirect to history.go(-1) ?? 
    }   
    return false; 
}); 

UPDATE

也就是有什么办法可以检查是否历史中有一些值或为空?所以我可以提醒用户如果是空的?

回答

29

这是因为你觉得这是很简单的:

$('.clickme').click(function() { 
    if(confirm("Are you sure you want to navigate away from this page?")) 
    { 
     history.go(-1); 
    }   
    return false; 
}); 
+0

哦,我应该先问尝试过。让我尝试。 – user187580 2010-02-24 14:04:54

+0

是否有任何方法来检查历史中是否存在“某物”..即不是空的等? – user187580 2010-02-24 14:06:32

+0

存在history.previous属性,但由于JSRef指出它*需要UniversalBrowserRead特权。如果你没有这个特权,它就没有价值。有关安全性的信息,请参阅客户端JavaScript指南。* – anddoutoi 2010-02-24 14:20:38

9

试试这个:

if(confirm("Are you sure you want to navigate away from this page?")) 
    { 
     history.back(); 
    }  
+0

它可以放在onclick =”返回确认('确认消息')“; ?? – user187580 2010-02-24 14:08:54

+0

你试过了吗? – 2010-02-24 14:11:15

+0

是的,它可以放在那里,试试看。 – Sarfraz 2010-02-24 14:16:56

3
$('.clickme').click(function() { 
     if(history.length != 0) 
     { 
      if(confirm("Are you sure you want to navigate away from this page?")) 
      { 
       history.go(-1); 
      } 
     return false; 
     } 
     alert("No history found"); 
     return false; 
}); 
1
<script type="text/javascript" language="javascript"> 

function goBack() 
{ 
window.history.back() 
} 

window.onkeyup = function (e) 
{ 
if (e.keyCode == 27) window.history.back(); 
} 
</script> 

加入上面的代码页的头部部分。在这里,每当用户按Esc按钮,那么他将被重定向到前一个查看页面,如果我们想要在后退按钮上添加此逻辑,请在点击事件时调用goback()

1
$('.clickme').click(function() { 
    if(history.length != 0) 
     { 
      if(confirm("Are you sure you want to navigate away from this page?")) 
      { 
       document.location.replace(document.referrer) 
      } 
     return false; 
     } 
     alert("No history found"); 
     return false; 
}); 

(此代码大量借鉴Dodswarm的答案。)

相关问题