2013-05-11 1 views
0

В соответствии с этой страницы на Developer Network Mozilla, https://developer.mozilla.org/en-US/docs/DOM/Manipulating_the_browser_history, делая window.history.back() ....Как использовать историю DOM объект правильно

... будет действовать так же, как пользователь нажал на кнопку Назад в их панель инструментов браузера

Но это не то, что я нахожу.

У меня есть страницы 1, 2, 3 и 4, с пользовательскими кнопками на последних трех.

Если я нажимаю от 1 -> 2 -> 3 -> 4, а затем используйте кнопку назад браузера, я пойду с 4 -> 3 -> 2 -> 1.

Если я сделать то же самое с моими пользовательскими кнопками возврата, однако, когда я попытался вернуться назад, он пойдет 4 -> 3 -> 4 -> 3 -> 4 -> ... и т. д.

Есть ли способ обойти это?

Вот мой код:

<button onclick="window.history.back()" id="back-btn" class="button left ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false"><span class="ui-button-text"><i class="icon-arrow-left"></i> Back</span></button> 

(Вы увидите, что я стилизации его с JQuery ...)

+0

Интересно. У вас есть что-то, что работает с функциональностью pop/pushstate API истории? – Ohgodwhy

+0

Ohgodwhy, если только jQuery не делает что-то смешное в фоновом режиме, но я сомневаюсь в этом ... –

+0

Вы используете jQuery mobile или просто jQuery? – Ohgodwhy

ответ

0

Я отсортирован это. В основном у меня была неправильная подача кнопки. Когда я нажал кнопку «вперед» или «назад», он, похоже, работал нормально. Когда я проверил сетевой интерфейс, хотя (через firebug), я на самом деле стрелял из нескольких запросов за один раз.

Теперь, когда мои кнопки работают Хорошо, история также прекрасна!