我有一个应用程序,我使用以下代码禁用了IE8的后退按钮。
window.history.forward();
function noBack() {
window.history.forward();
}
我知道此代码会将页面移回页面并再次向前移动页面。我已经调用了页面的函数onload,这使得文本框只读。我使用以下代码使其只读。
$("#IDofTheTextBox").attr('readonly',true);
但是如果我选择文本框并尝试通过按“BackSpace”按钮进行编辑,则会调用IE后退按钮,而且只读取的文本框不再是只读的。任何人都可以帮我解决这个问题吗?
答案 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按钮来导航我们的工具。
我不会尝试使用我提供的示例之外的按钮。