禁用IE后退按钮

时间:2013-02-23 06:54:09

标签: javascript jquery

我有一个应用程序,我使用以下代码禁用了IE8的后退按钮。

window.history.forward();
function noBack() {

    window.history.forward();
}

我知道此代码会将页面移回页面并再次向前移动页面。我已经调用了页面的函数onload,这使得文本框只读。我使用以下代码使其只读。

$("#IDofTheTextBox").attr('readonly',true);

但是如果我选择文本框并尝试通过按“BackSpace”按钮进行编辑,则会调用IE后退按钮,而且只读取的文本框不再是只读的。任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:4)

答案只是“否”

如果您试图阻止用户丢失工作,请尝试以下操作:

window.onbeforeunload = function() { return "Are you sure want to leave this page?."; };

答案 1 :(得分:2)

function changeHashOnLoad() {
     window.location.href += "#";
     setTimeout("changeHashAgain()", "50"); 
}

function changeHashAgain() {
  window.location.href += "1";
}

var storedHash = window.location.hash;
window.setInterval(function () {
    if (window.location.hash != storedHash) {
         window.location.hash = storedHash;
    }
}, 50);

你在js文件中添加上面的javascript函数,onload调用函数changeHashOnLoad().

它在IE8中运行良好。我刚试过它。

答案 2 :(得分:0)

我不知道您的网页正在尝试做什么......但这就是我们所做的:

我们有一个评估,我们不希望启用浏览器按钮...因为我们在用户点击下一个/后退等时运行ajax / logic(以确定下一个根据其输入显示的内容)。后退和前进按钮可能会混乱。

所以.....我们让用户在新窗口中打开我们的评估,因此后退按钮已被禁用...(新窗口中没有先前的历史记录)。然后,我们的下一个/后退按钮使用window.location.replace(url);这将阻止创建历史记录项。因此,后退/前进按钮永远不会启用,他们必须使用next / prev按钮来导航我们的工具。

我不会尝试使用我提供的示例之外的按钮。

相关问题