Проверка AJAX в мобильных браузерах
-
12-09-2019 - |
Вопрос
Я создаю мобильное веб-приложение, которое может использовать или не использовать ajax, в зависимости от того, поддерживает ли браузер пользователя javascript.Поскольку я использую JQuery, я хочу убедиться, что мобильный браузер поддерживает AJAX через JQuery, прежде чем включать функцию AJAX.
У меня возникла проблема с Opera Mini из-за способа отображения страниц, и я не знаю, как это проверить.Вот код, который я использую для проверки AJAX:
$(document).ready(function () {
$.get(
'test.txt',
function() {
init_ajax();
}
);
});
Где init_ajax() включает мою функциональность ajax и отключает мою статическую функциональность.
Проблема в том, что Opera Mini успешно запускает этот код перед выводом страницы в браузер, но тогда ajax фактически не работает на отображаемой странице.Я попытался запустить эту функцию в setTimeout вместо document.ready, но столкнулся с той же проблемой.
Существует ли универсальный способ точно проверить наличие AJAX в мобильных браузерах?
P.S.Если вы хотите протестировать свое решение в Opera Mini, здесь есть полнофункциональный эмулятор:
http://www.opera.com/mini/demo/
[Изменить] Я должен упомянуть, что этому приложению необходимо выполнять ajax-вызов примерно раз в минуту с использованием setInterval, поэтому, хотя Opera Mini действительно поддерживает некоторые ajax, когда он запускается щелчком мыши, я не верю, что есть какой-либо способ сделать это поддержка вызовов ajax, выполняемых через определенный интервал.Если бы мы могли проверить это, это, вероятно, решило бы проблему, описанную выше.
Решение
Разве Opera Mini не получает веб-запросы на серверах Opera, не отображает страницы, а затем не доставляет выходные данные (в виде изображений и текста) к цели с ограниченной функциональностью?Поскольку рендеринг происходит на ферме Opera Mini Server, следовательно, между клиентом и веб-сервером нет реального взаимодействия между клиентом и веб-сервером, вы фактически не можете использовать ajax.
Вероятно, вам нужен другой метод проверки Opera Mini. Идеально было бы просмотреть пользовательский агент Opera Mini/1.2.Что касается проверки мобильных браузеров, то это зависит от объема функций, предоставляемых мобильным браузером.Иногда проверить просто невозможно и придется вытаскивать конкретные мобильные браузеры по названию.
Дополнительная информация здесь Проектируя с учетом Opera Mini.