Сайт JQuery Mobile работает в браузере, но не в мобильном браузере - PullRequest
1 голос
/ 04 февраля 2012

Я создал мобильный сайт JQuery, который собирает данные из веб-сервиса CSE. Я также выпустил источник на github.

Моя проблема в том, что сайт работает нормально при загрузке через браузер, но когда я пытаюсь загрузить его через мобильный браузер, он продолжает загружаться ....!

Может ли я когда-нибудь просветить меня? Это как-то связано с размером файла XML, получаемого от веб-службы ??

Спасибо за ваше время заранее.

1 Ответ

1 голос
/ 05 февраля 2012

В зависимости от вашего соединения (3G, LTE, Wifi) это может быть задержка при загрузке XML-файла, но это всего лишь ~ 130 КБ, что не так уж и много. Загрузка моего браузера заняла 2,75 секунды.

Вы уже профилировали это веб-приложение с чем-то вроде Google Chrome? Если вы запустите профиль и загрузите страницу, вы обнаружите, что более 60% времени загрузки теряется в селекторе фильтров jquery. Это означает, что вы действительно могли бы получить выгоду от настройки функции endCallService.

Из-за размера документа xml, если бы вы могли сократить время его обхода, ваш код будет работать намного лучше. Объект xmlHttpRequest можно просмотреть как массив, поэтому я думаю, что вы можете ускорить процесс с помощью чего-то вроде этого:

listStr = listStr +  .... xmlHttpRequest[0][j][i]

Первый [0] - это первый элемент таблицы. Следующая позиция, [j] - это строка. Тогда [i] - это ваш столбец.

Не могли бы вы попробовать и посмотреть, будет ли это лучше? Мне не удалось протестировать в jsfiddle, потому что я получал ошибки сервера при попытке доступа к вашему скрипту proxy.php.

Это должно сработать, и когда это произойдет, вы сможете выжать ту же производительность из других объектов, которые вы загружаете в следующем вложенном цикле. (var shareName, shareVolume и т. д.).

Ура!

...