проблема с кнопкой возврата мобильного браузера jquery, jquery

#jquery #iphone #browser #mobile #back

#jquery #iPhone #браузер #Мобильный #Назад

Вопрос:

Вот проблема с автоматическим переносом страницы, с которой я столкнулся на своей странице jquery mobile. Любая помощь приветствуется, пожалуйста.

Я нахожусь на странице A, нажимаю на ссылку, затем перехожу на страницу «B». Теперь я нажимаю на ссылку на странице «B», чтобы перейти на страницу C.

На странице C я нажимаю кнопку возврата браузера (iphone внизу слева), она переводит меня на страницу B по желанию. Теперь я нажимаю на ту же ссылку, чтобы вернуться на страницу C. На этот раз браузер отображает страницу «C», однако вскоре автоматически (с изображением загрузки jquery mobile в середине он выполняет переходный слайд) вместо этого загружается страница «B». Когда я смотрю на URL вверху, я все еще pageC.html url, а не B. только содержимое страницы B.

Есть ли в этом смысл? Что происходит? Помогите мне, пожалуйста.

Дополнительная информация: что я использую?

Большое спасибо

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

1. Не могли бы вы опубликовать свой код, чтобы я мог лучше рассмотреть.

2. Извините, приятель, я не могу точно определить проблему с вашим кодом. Пожалуйста, ознакомьтесь с онлайн-документацией, может быть, она вам поможет. elated.com/articles/jquery-mobile-what-can-it-do-for-you

3. вы можете отредактировать свой вопрос и поместить свой код в codeblock

Ответ №1:

Я столкнулся с той же проблемой и смог ее решить, установив для hashListeningEnabled значение false.

 $.extend(  $.mobile , {
    ajaxEnabled      : false,
    hashListeningEnabled: false
});
  

Ответ №2:

$.extend( $.mobile , { ajaxEnabled: false, hashListeningEnabled: false });

это также сработало для меня. На iPhone 5s я бы перешел на страницу (используя метод .pagecontainer («изменить»)). Страница была динамически сгенерирована в клиентском коде, поэтому это не был фактический URL. В любом случае, в первый раз, когда я использовал кнопку «Назад», это сработало бы. Во второй раз, когда я перешел на другую страницу, произошел бы переход, а затем страница выполнила бы быструю вспышку / перезагрузку. После этого кнопка возврата перестала работать.

Реализация этого кода в теге сработала для меня. УБЕДИТЕСЬ, что вы разместили это ПОСЛЕ ссылки на jquery, но ПЕРЕД ссылкой на jquery MOBILE. Это действительно неприятная ошибка. Мой тег выглядит так:

     <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
    $(document).bind("mobileinit", function () {
        $.mobile.ajaxEnabled = false;
        $.mobile.pushStateEnabled = false;
    });
</script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<script src="phonebook.js"></script>
  

Ответ №3:

Приятель,

Я думаю, проблема в вашей файловой структуре. Вы используете мобильную библиотеку jquery, но в то же время работаете с двумя страницами, переходы между которыми не будут работать.

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

1. Также проверьте свою электронную почту, я отправил вам демонстрационный пакет для справки. Спасибо.

2. Работа с несколькими страницами неизбежна. Одностраничное решение работает только до тех пор, пока вы не имеете дело со слишком большим количеством серверных материалов. Кроме того, размещение всего на одной странице также увеличит размер мобильной страницы. <br /> Похоже, что проблема с кнопкой возврата в браузере всегда существует. Как я вижу, такая же проблема существует на jquerymobile.com и страницы тоже. <br /> <br /> Вот еще одна ссылка, в которой изложена проблема jquerymobile.com страница. Звучит очень похоже. forum.jquery.com/topic /…

Ответ №4:

У меня была аналогичная проблема. data-ajax="false" Иногда помогает добавление ссылки.

Например, изменить

 `<a href="#" data-role="button" id="fix_link">Another Page</a>`
  

Для

 `<a data-ajax="false" href="#" data-role="button" id="fix_link">Another Page</a>`
  

Есть много мест, где можно прочитать о том, как jQuery Mobile загружает страницы и работает с навигацией, но я узнал больше всего, повозившись с этим, а иногда data-rel="external" и в определенных случаях.

Ответ №5:

Если вы не используете навигацию AJAX (т. Е. Для параметра $.mobile.ajaxEnabled установлено значение false), jQuery Mobile рекомендует также отключить $.mobile.pushStateEnabled , чтобы устранить эти проблемы с браузером:

Примечание: При создании мобильного приложения jQuery, в котором система навигации Ajax отключена глобально или часто отключается по отдельным ссылкам, мы рекомендуем отключить параметр глобальной конфигурации $.mobile.pushStateEnabled, чтобы избежать непоследовательного поведения навигации в некоторых браузерах.

http://demos.jquerymobile.com/1.4.2/navigation-linking-pages/

Чтобы отключить его:

 $(document).bind("mobileinit", function () {
  $.mobile.ajaxEnabled = false;
  $.mobile.pushStateEnabled = false;
});