0

Ich verstehe die HTML5-Verlaufs-API und wie sie das Zurück- und Weiterschalten von Schaltflächen innerhalb einer einzelnen Seitenanwendung (SPA) ermöglicht.Wie kann ich zu Lesezeichen-Hash-Bang-URLs innerhalb einer einzelnen Seitenanwendung zurückkehren?

Aber wie kann ich aufgrund der URL, die von der API angezeigt wird, in den Anwendungsstatus zurückkehren, wenn Sie die falsche URL über ein Lesezeichen oder eine E-Mail-URL erhalten? Zum Beispiel ...

Wenn mein SPA von http://dacracot.org/myApp geladen wird, kann der Benutzer navigieren, bis die URL zu http://dacracot.org/myApp#!ec2f209f25e11 gemorpht wird. Der Benutzer entscheidet, dass dies von nun an sein Ausgangspunkt im SPA sein soll, und bucht es. Außerdem denken sie, dass es ein guter Startpunkt für ihre Mitarbeiter ist und mailen Sie die URL an sie.

Also wenn mein SPA lädt, kann ich den Hash-Bang-Marker #! Ec2f209f25e11 fangen, aber was nun? Mit welchem ​​Mechanismus verfüge ich über denselben Klickstream, den sie erwarten? Muss ich mit jeder Anzeigeoption eine Routentabelle erstellen? Dies (ich hoffe) ist nicht meine einzige Option.

+0

Was haben Sie beim ersten Navigieren des Benutzers zu diesem Hash/URL getan? Mach das gleiche jetzt ... – CBroe

+1

Hashbangs waren das, was die Leute benutzten, bevor pushState und Freunde existierten. Ich verstehe nicht, warum du sie mischt. – Quentin

+0

@Quentin pushState ist temporär und hilft nicht bei gespeicherten URLs. – dacracot

Antwort

0

Muss ich eine Routentabelle mit jeder Anzeigeoption erstellen?

Mehr oder weniger.

Da die Fragment-ID nur auf dem Client verfügbar ist, benötigen Sie eine clientseitige Logik, die die URL zum Ermitteln des Status der Seite verwenden kann, wenn der Benutzer sie laden möchte.

+0

Wenn wahr, dann brauche ich ein #Tag von jedem möglichen Anzeigezustand in meinem SPA und eine Routing-Tabelle, um es bei der Rückkehr auszuführen. Bummel. – dacracot

Verwandte Themen