<script type="text/javascript">
{
function DisableBackButton() {
window.history.forward()
}
DisableBackButton();
window.onload = DisableBackButton;
window.onpageshow = function (evt) { if (evt.persisted) DisableBackButton() }
window.onunload = function () { void (0) }
}
</script>
我在母版页中使用以下代码来播放后退按钮。
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
Response.Expires = -1500;
Response.CacheControl = "no-cache";
Page.Response.Cache.SetCacheability(HttpCacheability.NoCache);
我在该注销按钮中有一个母版页,一旦用户点击该用户将被重定向到注销页面。这工作正常,一旦我点击后退按钮,它就会把我带到我浏览的最后一页。即使我尝试使用JavaScript。
我在5分钟后创建会话时间。当会话到期时,用户将被重定向到会话到期页面,还有后退按钮带我到浏览的最后一页。
答案 0 :(得分:8)
此处此JavaScript功能适用于所有浏览器,并阻止用户通过点击浏览器返回按钮检查下面的JavaScript代码
<script type="text/javascript" language="javascript">
function DisableBackButton() {
window.history.forward()
}
DisableBackButton();
window.onload = DisableBackButton;
window.onpageshow = function(evt) { if (evt.persisted) DisableBackButton() }
window.onunload = function() { void (0) }
</script>
我们需要在页面的标题部分放置上面的脚本,以防止用户使用浏览器后退按钮导航回到另一个页面。
我将通过一个示例解释我们的要求我有两个页面Defaul1.aspx和Default2.aspx现在我将从Default1.aspx页面重定向到Defaul2.aspx页面。如果我尝试从Defaul2.aspx导航回Default1.aspx页面,那么从Defaul1.aspx页面到Default2.aspx后,我希望阻止用户导航回上一页(Defaul1.aspx)。要实现此功能,请在所需页面的标题部分中放置JavaScript函数。
将我们的JavaScript功能添加到我们的页面后,代码就像这样
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Disable Browser Back buttons</title>
<script type="text/javascript" language="javascript">
function DisableBackButton() {
window.history.forward()
}
DisableBackButton();
window.onload = DisableBackButton;
window.onpageshow = function(evt) { if (evt.persisted) DisableBackButton() }
window.onunload = function() { void (0) }
</script>
</head>
<body >
<form id="form1" runat="server">
<div>
First Page
</div>
<div>
<asp:Button id="btnFirst" runat="server" Text="Go to First Page" PostBackUrl="~/Default.aspx" />
<asp:Button ID="btnSecond" runat="server" Text="Go to Second Page" PostBackUrl="~/Default2.aspx" />
<asp:Button ID="btnThree" runat="server" Text="Go to Third Page" PostBackUrl="~/Default3.aspx" />
</div>
</form>
</body>
</html>
我们也可以通过在代码中禁用浏览器缓存来实现这一点,在Page_Init事件或Page_Load事件中编写以下代码行,并且不要忘记使用System.Web添加命名空间。因为HttpCacheability与该命名空间有关。
protected void Page_Init(object sender, EventArgs e)
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(-1));
Response.Cache.SetNoStore();
}
我们需要将此代码放在我们需要禁用浏览器后退按钮的页面中
答案 1 :(得分:3)
<script type="text/javascript" language="javascript">
window.onload = function () {
noBack();
}
function noBack() {
window.history.forward();
}
</script>
<body onpageshow="if (event.persisted) noBack();">
</body>
您好, 你可以这样做,
在母版页中实施此代码
我已经实现了这个,它对我有用..
答案 2 :(得分:3)
<script language="JavaScript">
this.history.forward(-1);
答案 3 :(得分:1)
点击“退出”后重定向到Logout.aspx页面 添加一个新页面作为Logout.aspx,其中包含以下正文内容。
Please wait. You are Logging out.
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Timer ID="Timer1" runat="server" Interval="1000" ontick="Timer1_Tick">
</asp:Timer>
添加javascript如下
function noBack() {
window.history.forward()
}
noBack();
window.onload = noBack;
window.onpageshow = function (evt) { if (evt.persisted) noBack(); }
window.onunload = function () { void (0); }
<强> Logout.aspx.cs 强>
protected void Page_Load(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
Response.Redirect("Login.aspx"));
}
来源:http://geekswithblogs.net/Frez/archive/2010/05/18/back-button-issue-after-logout-in-asp.net.aspx
答案 4 :(得分:1)
当用户点击退出按钮时,您应该写一行来清除会话。
Session.Abondon();
并导航到注销页面或登录页面。因此,一旦用户点击退出按钮,由于会话被清除,他无法返回。
答案 5 :(得分:0)
要禁用浏览器的后退按钮,请在主页面标题部分写下以下代码
<script language="JavaScript" type="text/javascript">
window.history.forward();
</script>
答案 6 :(得分:0)
<script type="text/javascript">
function DisableBackButton() {
window.history.forward()
}
DisableBackButton();
window.onload = DisableBackButton;
window.onpageshow = function (evt) { if (evt.persisted) DisableBackButton() }
window.onunload = function () { void (0) }
</script>