Обычно в одностраничном приложении, написанном на ExtJs есть меню, как и в десктопном приложении или у веб-сайта. Щелчки по пунктам меню переключают активные компоненты приложения. Пользователь видит то один, то другой, то третий...
Но вот пользователь тянется к кнопакм браузера "назад" и "вперёд" и нажимает на одну из них, расчитывая вернуться к компоненту, с которым он недавно работал. Однако вместо этого происходит полное обновление страницы. Это интуитивно не понятно и пользователи испытывают чувство недовольства.
Чтобы решить проблему, используйте Ext.util.History.
У этого объекта есть свои особенности. Он нуждается в скрытом поле ввода и скрытом ифрейме. Кроме того его нужно инициализировать перед использованием.
В момент, когда в DOM-модели уже присутствует элемент BODY, нужно выполнить такой код:
Хорошо подходит для этой цели метод onLaunch контроллера меню или контроллера экрана (viewport).
Чтобы регистрировать новые состояния истории браузера используйте такой код:
Этот код должне находиться в контроллере меню в обработчике кликов по пунктам меню.
Пример из документации.
Но вот пользователь тянется к кнопакм браузера "назад" и "вперёд" и нажимает на одну из них, расчитывая вернуться к компоненту, с которым он недавно работал. Однако вместо этого происходит полное обновление страницы. Это интуитивно не понятно и пользователи испытывают чувство недовольства.
Чтобы решить проблему, используйте Ext.util.History.
У этого объекта есть свои особенности. Он нуждается в скрытом поле ввода и скрытом ифрейме. Кроме того его нужно инициализировать перед использованием.
В момент, когда в DOM-модели уже присутствует элемент BODY, нужно выполнить такой код:
Хорошо подходит для этой цели метод onLaunch контроллера меню или контроллера экрана (viewport).
Чтобы регистрировать новые состояния истории браузера используйте такой код:
Этот код должне находиться в контроллере меню в обработчике кликов по пунктам меню.
Пример из документации.