使用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); }; });
这是禁用任何网页中的后退function的另一种技术。 我们可以通过在网页中添加以下代码来禁用后退导航。 现在要注意的是,您必须在要避免用户从上一页返回的所有页面中添加此代码。 例如,用户跟随导航page1 – > page2。 并且您希望阻止用户从page2返回到page1。 在这种情况下,page1中的所有后续代码。
码:
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); });
即使url附加了查询字符串,这也适用于所有浏览器( 为此你甚至不需要jquery。 看看这里将此应用于您的页面。
使用以下代码 :
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,则新窗口还应该inheritance打开它的窗口的历史记录。
请查看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()} });