вторник, 10 сентября 2013 г.

Кнопки браузера и история

Обычно в одностраничном приложении, написанном на ExtJs есть меню, как и в десктопном приложении или у веб-сайта. Щелчки по пунктам меню переключают активные компоненты приложения. Пользователь видит то один, то другой, то третий...

Но вот пользователь тянется к кнопакм браузера "назад" и "вперёд" и нажимает на одну из них, расчитывая вернуться к компоненту, с которым он недавно работал. Однако вместо этого происходит полное обновление страницы. Это интуитивно не понятно и пользователи испытывают чувство недовольства.

Чтобы решить проблему, используйте Ext.util.History.

У этого объекта есть свои особенности. Он нуждается в скрытом поле ввода и скрытом ифрейме. Кроме того его нужно инициализировать перед использованием.

В момент, когда в DOM-модели уже присутствует элемент BODY, нужно выполнить такой код:

Хорошо подходит для этой цели метод onLaunch контроллера меню или контроллера экрана (viewport).

Чтобы регистрировать новые состояния истории браузера используйте такой код:

Этот код должне находиться в контроллере меню в обработчике кликов по пунктам меню.

Пример из документации.

Комментариев нет:

Отправить комментарий