1

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

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

    window.history.forward();
}

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

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

但是如果我选择文本框并尝试通过按“BackSpace”按钮进行编辑,IE 后退按钮将被调用,并且只读的文本框不再是只读的。谁能帮我解决这个问题?

4

3 回答 3

4

答案很简单“不”

如果您试图防止用户丢失他们的工作,请尝试以下操作:

window.onbeforeunload = function() { return "Are you sure want to leave this page?."; };
于 2013-02-23T07:01:16.750 回答
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 中运行良好。我刚刚测试了它。

于 2013-02-23T07:59:55.543 回答
0

我不知道您的页面想要做什么......但这就是我们所做的:

我们有一个评估,我们不希望启用浏览器按钮......因为我们在用户点击下一步/返回等时运行 ajax/逻辑(根据他们的输入确定接下来要显示的内容)。后退和前进按钮会使该过程变得混乱。

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

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

于 2013-11-07T22:17:02.447 回答