2016-05-18 7 views
1

Ich habe einen Link AngularJS Anwendung wie diese zuzugreifen:Wie neu angularjs App mit versteckten Abfrageparameter laden?

127.0.0.1:9000/#/doc?abc=def 

Wenn der Benutzer auf diesen Link öffnet, kann er/sie öffnet die Anwendung. Nachdem die Anwendung geladen wird und Abfrage params erfolgreich extrahiert wird, verstecke ich diese Abfrage params durch diesen Code:

Nun wird der Link in der Adressleiste zu 127.0.0.1:9000/#/doc geschaltet. Wenn der Benutzer die Seite neu lädt (per F5 oder Taste neu laden des Browsers), möchte ich die Anwendung zuvor mit versteckten Parametern neu laden. Wie kann ich das machen?

+1

Offensichtlich müssen Sie die Query-String irgendwo speichern, wie in einem Cookie, lokalen Speicher oder auf dem Server. – isherwood

Antwort

1

Sie müssen die Parameter, die Sie verbergen, speichern und dann vor dem Reload-Ereignis wiederherstellen. Da es keine Möglichkeit gibt, das Reload-Ereignis tatsächlich zu erfassen, müssen Sie sich auf das Ereignis verlassen, das ausgelöst wird, bevor das Fenster entladen wird (wenn die Benutzer die Seite verlassen oder neu laden), um diese Parameter erneut zu laden.

$window.onbeforeunload = function() { // restore parameters here };

+0

Wow, diese Lösung funktioniert für meinen Fall. Ich habe sogar nicht über ein Vorankündigungsereignis nachgedacht. Danke vielmals – phuchieu

Verwandte Themen