В зависимости от вашего соединения (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 и т. д.).
Ура!