Здравствуйте, при разработке мобильного сайта использую jquery mobile, столкнулся с такой проблемой.
Сделал 2 popup окна при выполнении определенного действия, первое появляется для подтверждения, а второе сообщает если возникла ошибка.
Все на ajax
Вызов такой
$(document).ready(function() {
$('a.ajax').click(function() {
var action = $(this).data('action');
$.ajax({
type: "POST",
url: "profile/requests/language.php?",
data: "language=" + action,
success: function(msg){
if(msg=='ok'){location.reload();}
else{$("#error").popup("open");}
},
error: function(msg){
$("#error").popup("open");
}
});
return false;
})
})
частичный код страницы
<script type="text/javascript">
$(document).ready(function() {
$('a.ajax').click(function() {
var action = $(this).data('action');
$.ajax({
type: "POST",
url: "http://192.168.1.157/profile/requests/language.php?",
data: "language=" + action,
success: function(msg){
if(msg=='ok'){location.reload();}
else{$("#error").popup("open");}
},
error: function(msg){
$("#error").popup("open");
}
});
return false;
})
})
</script>
<ul data-role="listview">
<script type="text/javascript">
$(document).ready(function() {
$('a.ajax').click(function() {
$("#install_ru").popup("close");
})
})
</script>
<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>
<div data-role="popup" id="install_ru" data-dismissible="true" style="max-width:350px;">
<div data-role="header">
<h1>Установка языка</h1>
</div>
<div role="main" class="ui-content">
Вы действительно хотите установить Русский язык?<br />
<a href="#" data-action="ru" class="ui-btn ui-mini ajax" data-rel="back" data-transition="flow">Да</a>
<a href="#" class="ui-btn ui-mini" data-rel="back">Отмена</a>
</div>
</div>
<div data-role="popup" id="error" data-dismissible="true" style="max-width:350px;">
<div data-role="header">
<h1>Ошибка</h1>
</div>
<div role="main" class="ui-content">
Не удалось установить язык.<br />
<a href="#" data-action="ru" class="ui-btn ui-mini ajax" data-rel="back" data-transition="flow">Сообщить об ошибке</a>
<a href="#" class="ui-btn ui-mini" data-rel="back">Отмена</a>
</div>
</div>
как можно понять если результат вернулся ОК то перезагружаем страницу, иначе открываем popup с ошибкой.
Тестирую на ПК и Android 4.4. На пк все работает как надо, но на смарте не открывает окно с ошибкой, причем первое окно где нужно подтвердить выбор работает. Как решить данную проблему?
Дополнение: полностью не работает на Chrome (android), проверил на Firefox (android) работает через раз.
Как сделать код кроссбраузерным?