Вопрос

Я создаю мобильное веб-приложение, которое может использовать или не использовать 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top