2014-12-15 6 views
8

Ich arbeite an einer Anwendung, die ich Browser Back/Forward-Taste simulieren muss (ich habe 2 Tasten implementiert). Ich bin in der Lage, diese Funktionalität mit window.history.forward() und window.history.back() zu erreichen. Die Funktionalität funktioniert wie gewünscht. Aber ich habe ein Problem, ich habe Anforderung der Vorwärts-Schaltfläche zu deaktivieren, wenn es keine weiteren Seiten mehr zu durchsuchen gibt und umgekehrt für die Schaltfläche zurück.Angular js- Simulieren Browser Zurück/Vorwärts-Taste Deaktivieren

Ich habe versucht, mit den folgenden Problemumgehungen, aber nichts funktioniert.

if(!window.history.next){ 
    $scope.abcService.enableForwardButton = false; 
} 

Diese if Bedingung nie erfüllt wird, auch wenn ich nicht alle Seiten weiter zu suchen.

var index = window.history.length; 
if(window.history[index] != window.location) 
{ 
    $scope.abcService.enableForwardButton = true; 
} 

Alle Eingaben sind hilfreich. Hinweis: Deaktivieren der Tasten ist zwingend erforderlich für die Anwendung

+1

aussehen wollen Sie die $ Fenster Dienst verwenden soll, nicht das Fenster direkt. – Fals

+1

Forward sollte immer deaktiviert sein, es sei denn, Sie haben geklickt, bevor Sie auf etwas anderes geklickt haben. Deaktivieren Sie also vorwärts bei jedem nav und entsperren Sie erst nach einem Zurück-Befehl bei einem kurzen setTimeout. – dandavis

+0

Ich werde versuchen, $ window – Amit

Antwort

-1

Ich glaube, das sollte für Sie arbeiten.

if(typeof window.history.forward!=='function'){ 
    $scope.abcService.enableForwardButton = false; 
} 

Wenn Sie vorwärts navigieren können, dann ist typeof window.history.forward ‚Funktion‘, wenn Sie nicht dann kann es für Sie von Nutzen ‚undefined‘ ist