Я использую History.js и Jquery (и немного GWT), я использую метод History.pushState() для хранения полезной нагрузки Ajax, затем в событии statechanged я рисую экран в соответствии с полезной нагрузкой. Теперь внутри моего приложения кнопки браузера назад и вперед работают правильно.
Странно то, что когда пользователи щелкают ссылку в моем приложении, которая ведет их на страницу, которая находится за пределами моего приложения (тот же домен, но другое приложение), они выходят, просматривают страницу, затем нажимают кнопку «Назад», чтобы повторно войти в мое приложение. приложение.
Мое приложение загружается, оно не получает события popstate или statechange, но каким-то образом браузер на самом деле рисует экран, чтобы он выглядел точно так, как он выглядел до того, как они покинули мое приложение.
Я хотел бы понять, что здесь происходит.
[РЕДАКТИРОВАТЬ: я был неправ. Мой код выполнялся, и я получил изменение состояния. У меня были некоторые предположения о History.js, и теперь я понимаю, что для правильного кода вы должны получить полезную нагрузку AJAX, а затем вызвать pushstate, чтобы поместить ее в стек. Затем сработает ваше событие statechange, и вы должны в функции statechange прочитать состояние из стека и соответствующим образом нарисовать экран. Тот же код будет выполняться, когда вы запускаете свое приложение в обычном режиме, и тот же код будет выполняться, когда пользователь нажимает кнопку «Назад». ]