2016-04-01 15 views
1

Ich entwickle eine Website mit Angular 2. Gibt es eine Möglichkeit zu deaktivieren oder Browser zurück Schaltfläche mit Angular 2 auslösen?Wie Browser Back-Taste in Angular deaktivieren 2

Dank

+0

'window.history.back()'? – Dumisani

+2

Möglich dublicate [wie Browser Schaltfläche zurück mit JavaScript stoppen] (http://stackoverflow.com/questions/12381563/how-to-stop-browser-back-button-using-javascript) – tchelidze

Antwort

1

Dies ist nicht Angular2 verwandtes Problem. Sie können den Benutzer zurück in den Verlauf senden. Siehe Manipulating the browser history, history.go() Verfahren insbesondere:

window.history.go(-1); 

Aber ich glaube nicht, dass es einen Weg gibt, zu stornieren oder auf drücken Zurück-Taste im Browser-Fenster Standard-Browser Aktion zu deaktivieren, weil das sehr leicht missbraucht werden könnte.

Als Alternative wird ein Dialogfenster angezeigt, wenn Benutzer die Seite zu verlassen versucht: javascript before leaving the page

0

Wenn Sie eine Route

werden, um zu verhindern, wollen erreichen können Sie den @CanActivate() Dekorateur Ihre Routing-Komponente hinzufügen
@Component({selector: 'control-panel-cmp', template: `<div>Settings: ...</div>`}) 
@CanActivate(checkIfWeHavePermission) 
class ControlPanelCmp { 
} 

Siehe auch
- Angular 2: Inject a dependency into @CanActivate? für den Zugriff auf globale Dienste.
- Angular2 Router - Anyone know how to use canActivate in app.ts so that I can redirect to home page if not logged in

1

Versuchen Sie, diese

<script type = "text/javascript" > 
history.pushState(null, null, 'pagename'); 
window.addEventListener('popstate', function(event) { 
history.pushState(null, null, 'pagename'); 
}); 
</script> 

wo change 'Seitenname' auf Ihrer Seite Namen und setzen diese in Kopfteil der Seite.