2015-03-30 29 views
12

kontrolowanie lub wyłączanie Przeglądarka Powrót Przycisk z JavaScript lub angularjskontrolowanie lub wyłączanie Przeglądarka Powrót Przycisk z JavaScript lub angularjs

Tutaj nie jestem zadając pytanie, ale chcę pokazać rozwiązania, jak można wyłączyć i sterować przeglądarki Powrót przycisk jeśli używasz angularjs lub nawet JavaScript

+0

Dla angularjs części, wystarczy użyć tego artykułu http://stackoverflow.com/questions/15813850/detect-history-back-using-angular, istnieje grono podobne pytania, więc nie wysyłaj natychmiast ... –

+0

@FerTo http://stackoverflow.com/help/self-answer –

Odpowiedz

14

Jeśli tylko za pomocą JavaScript można sprawdzić w jaki sposób można wyłączyć Wstecz z tego linku:

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

Ale to Powyższy kod nie będzie działał dobrze z AngularJS, ponieważ AngularJS używa adresu URL_Hash # w tle, więc tutaj pokażę, jak możesz odwrócić:

W swoim głównym kodzie JavaScript (nie wewnątrz kodu AngularJS lub kontrolera), umieść następujący kod :

// *** 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 

A teraz wewnątrz angularjs Controler umieścić następujące listner zdarzeń:

/** 
* 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();    
}); 

mam nadzieję, że to może pomóc.

Pozdrawiam

Wael

+0

Dlaczego nie używać $ location.replace()? – Musa

+1

@Wael, powyższy kod działa w celu wyłączenia przycisku Wstecz. ale nawet wyłączenie ng-href na stronie logowania – Hema

+0

@Hema To niestety wyłącza wszelką nawigację w kanciastym ... –