Управление или отключение кнопки "Назад" в браузере с помощью Javascript или AngularJS

Управление или отключение кнопки "Назад" в браузере с помощью Javascript или AngularJS

Здесь я не задаю вопрос, но я хочу показать решение, как вы можете отключить и контролировать кнопку "Назад" в браузере, если вы используете AngularJS или даже с Javascript

1 ответ

Решение

Если вы просто используете Javascript, вы можете проверить, как вы можете отключить кнопку "Назад" по этой ссылке:

http://jordanhollinger.com/2012/06/08/disable-the-back-button-using-html5/

Но этот код выше не будет хорошо работать с AngularJS, потому что AngularJS использует URL_Hash # в фоновом режиме, поэтому здесь я покажу, как вы можете обернуться:

В своем основном коде Javascript (не в коде AngularJS или контроллере) вставьте следующий код:

// *** Author: Wael Sidawi
// ****  Deactive Back Button **** 
var history_api = typeof history.pushState !== 'undefined';
// history.pushState must be called out side of AngularJS Code
if ( history_api ) history.pushState(null, '', '#StayHere');  // After the # you should write something, do not leave it empty

А теперь внутри вашего AngularJS Controler поместите следующий список событий:

/**
 * Event-Listner for Back-Button
 */
$scope.$on('$locationChangeStart', function(event, next, current){            
    // Here you can take the control and call your own functions:
    alert('Sorry ! Back Button is disabled');
    // Prevent the browser default action (Going back):
    event.preventDefault();            
});

Я надеюсь, что это может помочь вам.

С уважением

Ваель

Другие вопросы по тегам