Как создать #привязочные “ссылки” в стиле W3C или Gmail?
-
20-08-2019 - |
Вопрос
Если вы используете Gmail, вы увидите URL-адреса в адресной строке, такие как:
https://mail.google.com/mail/#inbox
https://mail.google.com/mail/#starred
Если вы перейдете по одному из этих URL-адресов, он сразу перейдет к соответствующему представлению.
Аналогичный пример приведен на http://validator.w3.org где находятся якоря #validate_by_uri
, #validate_by_upload
и #validate_by_input
каждая вкладка автоматически фокусируется на разных вкладках.
Как все это делается?Использует ли страница Javascript для определения привязки, а затем переключения вида для вас?Как вы предотвращаете прокрутку страницы до положения привязки?
Решение
Страница использует JavaScript для оценки "hash
" собственность window.location
объект.
Попробуйте это, отключив JavaScript.По крайней мере, со страницей валидатора это приводит к неудивительному результату.
Другие советы
YUI включает в себя менеджер истории это реализует это для вас.Изучение исходный код должно помочь вам понять, как это работает.