Задать вопрос

Как работает навигация по письмам в Gmail?

В web-интерфейсе Gmail навигация по письмам сделана следующим образом:

Изначально мы на странице «Входящие»
https://mail.google.com/mail/?hl=ru&shva=1#inbox


Нажимаем на письмо и попадаем на
https://mail.google.com/mail/?hl=ru&shva=1#inbox/12c4911509040a02

При этом открывается само письмо.

Как видно, мы работаем через «решетку» #, поэтому перезагрузки страницы не происходт, вместо этого происходит переход «по якорю». Тем не менее, URL меняется, и браузер делает переход без отправки запроса на сервер, в результате чего мгновенно открывается текст письма (который уже где-то хранился в DOM и посредством JS выводится пользователю), и становится доступной кнопка «Назад» в браузере, что очевидно. Если ее нажать, мы возвращаемся к списку писем, текст письма при этом скрывается, конечно же без перезагрузки страницы, и это очень быстро работает.

Вопрос: Как это работает? Конкретно, после нажатия «Назад». Ведь мы работаем на одной странице, нужно как-то закрыть открытое письмо. Как работает этот механизм? Какое события обрабатывается? Надеюсь, суть вопроса ясна.
  • Вопрос задан
  • 2840 просмотров
Подписаться 4 Комментировать
Подписчики вопроса 4 К ответам на вопрос (4)