Как правило, это плохая идея, переопределяющая поведение веб-браузера по умолчанию. Сценарий на стороне клиента не имеет достаточных привилегий для этого по соображениям безопасности.
Подобных вопросов тоже немного,
Как я могу предотвратить возврат клавиши Backspace?
Как предотвратить обратное действие истории браузера по умолчанию для кнопки возврата с помощью JavaScript?
Вы не можете отключить кнопку «Назад» в браузере. Однако вы можете творить чудеса, используя свою логику, чтобы пользователь не мог вернуться назад, что создаст впечатление, что оно отключено. Вот как это сделать, посмотрите следующий фрагмент.
(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, поэтому он будет работать в большинстве браузеров. Это также отключит клавишу возврата, но клавиша будет нормально работать внутри полей ввода и текстовой области.
Рекомендуемая установка: поместите этот фрагмент в отдельный скрипт и включите его на страницу, где вы хотите такое поведение. В текущей настройке он будет выполнять событие загрузки DOM, которое является идеальной точкой входа для этого кода.
Working Demo link-> http://output.jsbin.com/yaqaho
person
rajat.gite
schedule
30.01.2020