Проблемы с использованием # для глубинных ссылок в динамических приложениях?

У меня есть приложение Flex, которое я создал. Он использует класс BrowserManager для отслеживания изменений в # части URL-адреса. Когда в хэш вносятся изменения, мое приложение обновляется соответствующим образом, так что вы можете напрямую ссылаться на состояние приложения. Также внутри моего программирования, когда пользователь что-то щелкает, все, что я делаю, это использую BrowserManager для обновления #, а затем мой слушатель применяет правильные изменения после его завершения. Я считаю, что это лучший способ сделать это во Flex.

Хотя у меня есть некоторые проблемы. При использовании кнопки «Назад» в FF или IE она «застревает». например, если хэш похож на #state4, нажатие кнопки "Назад" приведет вас к #state3, а затем #state2, но иногда застревает там, где вы можете быть #state3, нажмите кнопку "Назад", вы увидите, как она быстро мигает до #state2, затем вернитесь к #state3, не давая вам пойти назад в вашей истории.

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

Я считаю это очень странным и не знаю, что с этим делать. Мне было интересно, испытал ли это кто-нибудь еще или знает, в чем может быть проблема.

Чтобы увидеть его в действии, перейдите сюда и перейдите в конструктор (он спросит выберите тип ювелирных изделий, металл и т. д.) несколько раз, пока не увидите большую красную кнопку добавить в корзину, затем попробуйте использовать кнопку возврата, чтобы вернуться на эту страницу.


person JD Isaacks    schedule 21.07.2010    source источник


Ответы (1)


Вы пробовали Менеджер истории. Взгляните на http://www.nbilyk.com/blog/1/68/flex-history-manager

person michael    schedule 22.07.2010