Где должны быть расположены скрипты на странице jQuery Mobile для лучшей производительности? - PullRequest
17 голосов
/ 13 ноября 2010

Большинство людей рекомендуют размещать теги сценариев внизу страницы из соображений производительности - jQuery: переместить JavaScript в конец страницы?

Как эта практика применяется к веб-страницам jQuery Mobile?

Примеры, которые я видел, помещают скрипты jQuery и jQuery Mobile в тег head. Нужно ли размещать другие теги в теге head? Что такое лучшая практика?

Ответы [ 3 ]

4 голосов
/ 29 ноября 2010

Здесь, я думаю, тот же ответ имеет значение, что и для настольных страниц.Если javascript жизненно важен для функциональности страницы, вы должны поставить его наверх.Если это дополняет друг друга, поместите его внизу.

3 голосов
/ 14 декабря 2010

Хотя это может не относиться к производительности как к скорости, в мобильном контексте jquery важно правильно добавлять сценарии на страницы.Обычная старая $(function(){}) удивит вас.В некоторых случаях это не работает.

При нажатии на ссылку jquery mobile извлекает страницу с помощью ajax и добавляет ее содержимое на открытую в данный момент страницу, игнорируя все, что вы вставили в <head>.[Это верно для jqm 1.0a2]

Существует два способа добавления сценариев, которые будут работать:

  1. , помещающие все сценарии в один файл .js и связывающие их вглава всех страниц вашего приложения и работа с событиями, которые предоставляет jqm (pageshow и pagecreate).
  2. помещает скрипты внизу тела и НЕ требует запуска DOMready.

Второй способ может быть лучше для производительности в больших приложениях, где есть много сценариев, которые пользователь может не использовать (не посещая определенные страницы).Я бы порекомендовал первый способ - он чище, и, кажется, jqm его поощряет.

Лучшим может быть сочетание обоих: добавление обработчика событий PageShow для каждой загруженной страницы вызовет некоторую функцию по умолчанию.

[edit]

см. Ограничения здесь внизу страницы.

2 голосов
/ 29 ноября 2010

Лучшая практика на дне.обычно сценарий jquery выполняется при загрузке DOM, поэтому его не оказывает никакого влияния на скорость отображения на странице, но это влияет на скорость, поскольку позволяет другим элементам загружаться ранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...