JQuery, JQuery мобильный браузер проблема с кнопкой Назад - PullRequest
3 голосов
/ 31 октября 2011

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

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

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

Имею ли я смысл? Что происходит? Помогите мне, пожалуйста.

Подробнее: что я использую?

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

Ответы [ 5 ]

5 голосов
/ 02 декабря 2011

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

$.extend(  $.mobile , {
    ajaxEnabled      : false,
    hashListeningEnabled: false
});
1 голос
/ 19 ноября 2015

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

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

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

    <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>
0 голосов
/ 05 марта 2014

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

Примечание:При создании приложения jQuery Mobile, в котором навигационная система Ajax отключена глобально или часто отключается для отдельных ссылок, мы рекомендуем отключить глобальную конфигурационную опцию $ .mobile.pushStateEnabled, чтобы избежать несовместимого поведения в некоторых браузерах.*http://demos.jquerymobile.com/1.4.2/navigation-linking-pages/

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

$(document).bind("mobileinit", function () {
  $.mobile.ajaxEnabled = false;
  $.mobile.pushStateEnabled = false;
});
0 голосов
/ 19 августа 2013

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

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

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

TO

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

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

0 голосов
/ 01 ноября 2011

Приятель,

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

...