Обычно плохая идея переопределять поведение веб-браузера по умолчанию. Сценарий на стороне клиента не имеет достаточных прав для этого по соображениям безопасности.
Также задано несколько похожих вопросов,
Как я могу предотвратить возврат клавиши возврата назад?
Как запретить действие возврата истории браузера по умолчанию для кнопки возврата с помощью JavaScript?
Вы не можете отключить кнопку возврата браузера. Однако вы можете сделать магию c, используя вашу логику c, чтобы предотвратить переход пользователя назад, что создаст впечатление, будто оно отключено. Вот как, посмотрите следующий фрагмент:
(function (global) {
if(typeof (global) === "undefined") {
throw new Error("window is undefined");
}
var _hash = "!";
var noBackPlease = function () {
global.location.href += "#";
// making sure we have the fruit available for juice (^__^)
global.setTimeout(function () {
global.location.href += "!";
}, 50);
};
global.onhashchange = function () {
if (global.location.hash !== _hash) {
global.location.hash = _hash;
}
};
global.onload = function () {
noBackPlease();
// disables backspace on page except on input fields and textarea..
document.body.onkeydown = function (e) {
var elm = e.target.nodeName.toLowerCase();
if (e.which === 8 && (elm !== 'input' && elm !== 'textarea')) {
e.preventDefault();
}
// stopping event bubbling up the DOM tree..
e.stopPropagation();
};
}
})(window);
Это чисто JavaScript, поэтому он будет работать в большинстве браузеров. Также будет отключена клавиша возврата, но она будет нормально работать внутри полей ввода и текстовой области.
Рекомендуемая установка: поместите этот фрагмент в отдельный скрипт и включите его на страницу, где вы хотите, чтобы это поведение. В текущей настройке он выполнит событие onload DOM, которое является идеальной точкой входа для этого кода.
Working Demo link-> http://output.jsbin.com/yaqaho