2014-12-15 18 views
8

Sto lavorando all'applicazione che richiede di simulare il pulsante di back/forward del browser (ho implementato 2 pulsanti). Sono in grado di ottenere questa funzionalità utilizzando window.history.forward() e window.history.back(). La funzionalità funziona come desiderato. Ma ho un problema che ho la necessità di disabilitare il pulsante avanti quando non ci sono più pagine da esplorare ulteriormente e viceversa per il pulsante indietro.js angolare - Simula disattivazione del pulsante di navigazione avanti/indietro

Ho provato a utilizzare i seguenti metodi, ma non funziona.

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

Questa condizione if non viene mai soddisfatto, anche se non ho tutte le pagine per navigare ulteriormente.

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

Qualsiasi input sarà utile. Nota: la disabilitazione dei pulsanti è un requisito obbligatorio per l'applicazione

+1

Si consiglia di utilizzare il servizio di $ finestra, non la finestra direttamente. – Fals

+1

avanti deve sempre essere disabilitato, a meno che non si sia fatto clic indietro prima di fare clic su qualsiasi altra cosa. quindi, disabilita l'avanzamento su ogni nav e sblocca solo dopo un comando back su un setTimeout breve. – dandavis

+0

Proverò $ window – Amit

risposta

-1

Credo che questo dovrebbe funzionare per voi.

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

Quando si può navigare in avanti poi typeof window.history.forward è 'funzione', quando non è possibile, allora si tratta di 'indefinito'

Problemi correlati