Метод jQuery getJSON в старых мобильных веб-браузерах - PullRequest
1 голос
/ 07 марта 2012

Я использую метод jQuery getJSON для отображения контента на странице мобильного сайта. Он отлично работает в текущих версиях браузера Chrome, Android 2.2+ и Safari для мобильных устройств, но совсем не отображается в версиях Blackberry 5 и 6, Windows Mobile (мобильный IE) 7 и Android (браузер) 2.1.

Кто-нибудь может помочь? Я настроил скрипку с моей текущей функцией здесь: http://jsfiddle.net/hyperdouche/krqNP/

РЕДАКТИРОВАТЬ: просто интересно, есть ли что-то в функции или в использовании метода getJSON, который не могут понять эти старые браузеры.

Спасибо.

1 Ответ

0 голосов
/ 07 марта 2012

Что ж, я предполагаю, что первая строка с двоеточием вместо '=' отсутствует в версии, которую вы успешно используете, потому что она должна ломаться везде, если это не свойство литерала объекта в вашем реальном коде.

"internetIndex: function () {"

Старый мобильный IE в основном IE7, поэтому я не уверен, почему у JQuery возникла бы проблема. Возможно, проблема безопасности, свойственная платформе?

Ежевика хорошо известна тем, что она является гигантской PITA. Вы можете сделать некоторые исследования там. Я знаю, что JQ Mobile не будет касаться поддержки Blackberry или IE для мобильных устройств, когда она только появилась, но я думаю, что это больше касается медиазапросов.

Одной вещью, которая очень помогает при получении отзывов о запросах ajax в более примитивных средах, является нормализатор объектов JSON Крокфорда (объект JSON является стандартным в новых браузерах).

https://github.com/douglascrockford/JSON-js/blob/master/json2.js

С этим в вашем коде вы можете сделать JSON.stringify для данных, и, если он достаточно хорошо сформирован, вы сможете выложить его в виде строки для отладки.

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

...