我想在用户点击注销时禁用后退按钮我只删除该用户的cookie而不是我的应用程序中的会话.并且想要禁用"后退"按钮
if(getCookie('username') == ""){
Disable back button;// we use "window.history.redirect" for javascript i look jquery for this
}
Run Code Online (Sandbox Code Playgroud)
请帮我..
rez*_*ami 24
你必须在pushState中推送你的url并清理浏览器历史记录:
试试这个 :
$(document).ready(function() {
window.history.pushState(null, "", window.location.href);
window.onpopstate = function() {
window.history.pushState(null, "", window.location.href);
};
});
Run Code Online (Sandbox Code Playgroud)
小智 6
使用以下代码:
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;
}
};
}
};
Run Code Online (Sandbox Code Playgroud)
小智 5
这是在任何网页中禁用后台功能的另一种技术。我们可以通过在网页中添加以下代码来禁用后退导航。现在这里的问题是您必须在所有页面中添加此代码,以避免用户从上一页返回。例如用户跟随导航页面1 -> 页面2。并且您想阻止用户从 page2 返回到 page1。在这种情况下,第 1 页中的所有以下代码。
代码:
<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>
Run Code Online (Sandbox Code Playgroud)
这不完全是您的方法,但您可以使用纯 JavaScript 禁用任何窗口的导航面板。只需将可见性window.menubar设置如下,window.toolbarfalse
window.menubar.visible = false ;
window.toolbar.visible = false ;
Run Code Online (Sandbox Code Playgroud)
更新:
更改现有窗口的菜单栏和工具栏可见性似乎违反了安全协议。(https://developer.mozilla.org/en/DOM/window.menubar)
因此,唯一真正的方法是打开一个新窗口,并将菜单栏和工具栏设置为“否”:
window.open(url,name,"menubar=no,toolbar=no[, additional options]",true) ;
Run Code Online (Sandbox Code Playgroud)
如果将替换参数(最后一个参数)设置为 true,新窗口还应该继承打开它的窗口的历史记录。
检查https://developer.mozilla.org/en/DOM/window.open和http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx以供参考。