使用jquery在浏览器中禁用后退按钮?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jquery在浏览器中禁用后退按钮?相关的知识,希望对你有一定的参考价值。
我想在用户点击注销时禁用后退按钮我只删除该用户的cookie而不是我的应用程序中的会话。并且想要禁用“后退”按钮
if(getCookie('username') == ""){
Disable back button;// we use "window.history.redirect" for javascript i look jquery for this
}
请帮我..
你必须在pushState中推送你的url并清理浏览器历史记录:
试试这个 :
$(document).ready(function() {
window.history.pushState(null, "", window.location.href);
window.onpopstate = function() {
window.history.pushState(null, "", window.location.href);
};
});
码:
<html>
<HEAD>
<SCRIPT type="text/javascript">
window.history.forward();
function noBack() {
window.history.forward();
}
</SCRIPT>
</HEAD>
<BODY onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
</BODY>
</HTML>
var path = 'Test.aspx'; //write here name of your page
history.pushState(null, null, path + window.location.search);
window.addEventListener('popstate', function (event) {
history.pushState(null, null, path + window.location.search);
});
这适用于所有浏览器(<IE 10除外),即使url附加了查询字符串。
为此你甚至不需要jquery。
看看here将其应用于您的页面。
使用以下代码:
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.onpopstate = function () {
history.pushState('newjibberish', null, null);
};
}
else {
var ignoreHashChange = true;
window.onhashchange = function () {
if (!ignoreHashChange) {
ignoreHashChange = true;
window.location.hash = Math.random();
}
else {
ignoreHashChange = false;
}
};
}
};
这不是您的方法,但您可以使用普通的javascript禁用任何窗口的导航面板。只需将window.menubar
和window.toolbar
的可见性设置为false
,如下所示,
window.menubar.visible = false ;
window.toolbar.visible = false ;
更新:
更改现有窗口的菜单栏和工具栏可见性似乎违反了安全协议。 (https://developer.mozilla.org/en/DOM/window.menubar)
因此,唯一真正的方法是首先打开一个新的窗口,菜单栏和工具栏设置为“no”:
window.open(url,name,"menubar=no,toolbar=no[, additional options]",true) ;
如果将replace参数(最后一个参数)设置为true,则新窗口还应该继承打开它的窗口的历史记录。
检查https://developer.mozilla.org/en/DOM/window.open和http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx以供参考。
简单逻辑:向前点击时向前移动
function preventBack() {
window.history.forward();
}
window.onunload = function() {
null;
};
setTimeout("preventBack()", 0);
将此js代码保存在您的页面中。
这将工作,它对我有用,因为我正在处理移动浏览器,android和ios。
window.history.forward();
window.onload = function()
{
window.history.forward();
};
window.onunload = function() {
null;
};
Sunil是正确的,但是使用jQuery将下面的代码粘贴到您想要阻止回溯的任何页面中。我在IE 11,chrome和FF中进行了测试,效果很好。
$(document).ready(function () {
function disableBack() {window.history.forward()}
window.onload = disableBack();
window.onpageshow = function (evt) {if (evt.persisted) disableBack()}
});
以上是关于使用jquery在浏览器中禁用后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章