Кнопка назад браузера и события - PullRequest
0 голосов
/ 10 января 2012

У меня есть многостраничный мобильный документ jquery.

Одна страница имеет ссылку на внешнюю страницу.

Когда я нажимаю кнопку "Назад", она не показывает, как выглядела страница при нажатии на ссылку.

Я не знаю, связано ли это с тем, как я получаю данные динамически, или это проблема со списками.Когда происходит переход на страницу, какие события запускаются?

1 Ответ

0 голосов
/ 10 января 2012

Когда вы переходите на страницу, которая не находится в том же домене, тогда на новой странице происходит загрузка всей страницы, и вы не можете сохранить состояние предыдущей страницы, когда пользователь возвращается назад, если вы не сохраняете состояние страницу в cookies / localStorage / sessionStorage и восстановление состояния самостоятельно.

При этом вы все равно можете перестроить свои страницы на событиях pagecreate или pageinit, которые сработают, если пользователь нажмет кнопку "Назад" и страницы будут повторно запрошены с сервера.

Если ваш внешний HTML-документ находится в том же домене, вы можете просто включить кэширование страниц для страниц, которые вы хотите сохранить, добавив атрибут data-dom-cache="true": http://jquerymobile.com/demos/1.0/docs/pages/page-cache.html

Пример:

<div data-dom-cache="true" data-role="page">
    <div data-role="header">...</div>
    <div data-role="content">...</div>
    <div data-role="footer">...</div>
</div>

В jQuery Mobile 1.0 страницы автоматически удаляются из DOM, когда вы уходите от них. Установка атрибута данных data-dom-cache предотвратит это.

...