Какой самый быстрый способ загрузить большой вложенный список в jQuery Mobile? - PullRequest
4 голосов
/ 15 января 2012

У меня есть большой вложенный массив, который я генерирую при разборе файла CSV в PHP.Он выводил его в формате JSON, а мой сайт jQuery Mobile извлекал его, а затем анализировал в список DOM <ul>, <li>.Это отлично работало в моем настольном браузере, но казалось, что на моих мобильных устройствах это длилось вечно.

Итак, у меня был PHP-скрипт, который на самом деле выводил HTML, и вставил его на мой jQuery Mobile сайт, чтобы посмотреть, ускорился ли он,Это по существу удалило получение любых данных.У index.html просто очень большой вложенный <ul>.Я подумал, что это определенно быстро загрузится, но, похоже, теперь на моих мобильных устройствах (* Nexus One & Blackberry) еще дольше

Есть ли способ ускорить это?Вот демоверсия http://pastehtml.com/view/bkrviwxp4.html

Я попробовал предварительную выборку по ссылке, но это не позволило странице полностью загрузиться на blackberry.

Ответы [ 2 ]

6 голосов
/ 16 января 2012

Как я вижу, вы обрабатываете все элементы одновременно, однако не отображаете их все сразу.Попробуйте обработать и добавить в DOM только те элементы, которые будут отображаться.JQuery-mobile работает очень медленно, даже если есть только пара элементов, у вас их тысячи.

2 голосов
/ 16 января 2012

Быстрее не использовать функцию просмотра вложенных списков в jQuery Mobile, поскольку она не предназначена для эффективной загрузки большого количества элементов.Команда разработчиков даже считала устаревшей функцию вложенного списка в прошлом.

Вместо этого, лучший способ представить вложенные данные - это поместить каждый уровень списка на свою собственную страницу HTML ииспользовать стандартную модель страницы jQuery Mobile для ее отображения.

Кроме того, если у вас есть большой объем разметки для анализа в jQuery Mobile, по моему опыту, вы можете значительно повысить производительность, используя свой PHP-скрипт.генерировать необходимую разметку и классы, а также создавать свои собственные виджеты jQM, которые не пытаются пересечь сотни DOM-узлов.Это повышение производительности происходит за счет пропускной способности, но до сих пор, как я знаю, общее время загрузки на мобильных устройствах уменьшается, когда выполняется таким образом.

...