Wie W3C-oder Google Mail-esque #anchor „Links“ zu schaffen?
-
20-08-2019 - |
Frage
Wenn Sie Google Mail verwenden, werden Sie URLs in der Adressleiste sehen wie:
https://mail.google.com/mail/#inbox
https://mail.google.com/mail/#starred
Wenn Sie eine dieser URLs gehen, wird es direkt in die entsprechende Ansicht springen.
Ein ähnliches Beispiel ist auf http://validator.w3.org , wo der Anker #validate_by_uri
, #validate_by_upload
und #validate_by_input
jeden Autofokus verschiedene Registerkarten.
Wie werden diese Dinge getan? Ist die Seite Javascript verwenden, um die Anker dann Ansicht zu erkennen, schalten für Sie? Wie verhindern Sie die Seite an die Ankerposition scrollen?
Lösung
Die Seite verwendet JavaScript, um die "hash
" Eigenschaft des window.location
Objekts zu bewerten.
probieren Sie es aus, indem du JavaScript zu deaktivieren. Zumindest mit der Validator Seite erzeugt dies ein wenig überraschend Ergebnis.
Andere Tipps
YUI enthält eine Geschichte Manager , dass für Sie implementiert. Die Untersuchung des Quellcode helfen sollen Sie verstehen, wie es funktioniert.