За последние 24 часа нас посетили 27669 программистов и 1815 роботов. Сейчас ищут 1024 программиста ...

Не открывает popup на смартфоне

Тема в разделе "JavaScript и AJAX", создана пользователем web-master, 1 фев 2015.

  1. web-master

    web-master Новичок

    С нами с:
    23 ноя 2014
    Сообщения:
    25
    Симпатии:
    0
    Адрес:
    Кубань
    Здравствуйте, при разработке мобильного сайта использую jquery mobile, столкнулся с такой проблемой.
    Сделал 2 popup окна при выполнении определенного действия, первое появляется для подтверждения, а второе сообщает если возникла ошибка.
    Все на ajax
    Вызов такой

    Код (Text):
    1. $(document).ready(function() {
    2.   $('a.ajax').click(function() {
    3.     var action = $(this).data('action');
    4.     $.ajax({
    5.       type: "POST",
    6.       url: "profile/requests/language.php?",
    7.       data: "language=" + action,
    8.       success: function(msg){
    9.         if(msg=='ok'){location.reload();}
    10.         else{$("#error").popup("open");}
    11.       },
    12.       error: function(msg){
    13.          $("#error").popup("open");
    14.       }
    15.     });
    16.     return false;
    17.   })   
    18. })

    частичный код страницы

    Код (Text):
    1. <script type="text/javascript">
    2. $(document).ready(function() {
    3.   $('a.ajax').click(function() {
    4.     var action = $(this).data('action');
    5.     $.ajax({
    6.       type: "POST",
    7.       url: "http://192.168.1.157/profile/requests/language.php?",
    8.       data: "language=" + action,
    9.       success: function(msg){
    10.         if(msg=='ok'){location.reload();}
    11.         else{$("#error").popup("open");}
    12.       },
    13.       error: function(msg){
    14.          $("#error").popup("open");
    15.       }
    16.     });
    17.     return false;
    18.   })   
    19. })
    20. </script>
    21.     <ul data-role="listview">
    22.         <script type="text/javascript">
    23.     $(document).ready(function() {
    24.       $('a.ajax').click(function() {
    25.         $("#install_ru").popup("close");
    26.       })   
    27.     })
    28.     </script>
    29.     <li data-icon="false"><a href="#install_ru" data-rel="popup" data-position-to="window" data-transition="pop"><img src="http://192.168.1.157/include/css/flags/ru.png" class="ui-li-icon">Русский</a></li>
    30.       <div data-role="popup" id="install_ru" data-dismissible="true" style="max-width:350px;">
    31.         <div data-role="header">
    32.         <h1>Установка языка</h1>
    33.         </div>
    34.         <div role="main" class="ui-content">
    35.             Вы действительно хотите установить Русский язык?<br />
    36.             <a href="#" data-action="ru" class="ui-btn ui-mini ajax" data-rel="back" data-transition="flow">Да</a>
    37.             <a href="#" class="ui-btn ui-mini" data-rel="back">Отмена</a>
    38.         </div>
    39.       </div>
    40.       <div data-role="popup" id="error" data-dismissible="true" style="max-width:350px;">
    41.         <div data-role="header">
    42.         <h1>Ошибка</h1>
    43.         </div>
    44.         <div role="main" class="ui-content">
    45.             Не удалось установить язык.<br />
    46.             <a href="#" data-action="ru" class="ui-btn ui-mini ajax" data-rel="back" data-transition="flow">Сообщить об ошибке</a>
    47.             <a href="#" class="ui-btn ui-mini" data-rel="back">Отмена</a>
    48.         </div>
    49.       </div>
    как можно понять если результат вернулся ОК то перезагружаем страницу, иначе открываем popup с ошибкой.
    Тестирую на ПК и Android 4.4. На пк все работает как надо, но на смарте не открывает окно с ошибкой, причем первое окно где нужно подтвердить выбор работает. Как решить данную проблему?
    Дополнение: полностью не работает на Chrome (android), проверил на Firefox (android) работает через раз.
    Как сделать код кроссбраузерным?
     
  2. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    не претендую на роль знатока
    видимо у android проблема именно с error:
    типа как здесь