Когда Вы принимаете решение загрузить свой JavaScript внизу страницы вместо вершины?

Это кажется мне, проблема передача файл, прежде чем это будет завершено, не, что Вы удаляете его.

, Если это - Linux, для файла возможно быть открытым процессом A и обработать B, может расцепить файл. Нет никакой ошибки, но конечно A тратит впустую свое время. Поэтому то, что rsync удаляет исходный файл, не является проблемой.

проблемой является rsync, удаляет исходный файл только после того, как это копируется, и если это будет все еще записано в диск, то у Вас будет частичный файл.

Как насчет этого: Смонтируйтесь mass как удаленная файловая система (NFS работал бы) в speed. Тогда просто веб-проверка файлы непосредственно.

6
задан Tebo 7 December 2009 в 14:58
поделиться

9 ответов

Вверх : когда функция событий JavaScript для элементов более важна (поэтому, если вы используете событие DOM Ready для загрузки всего, это неправильное место)

Внизу : при загрузке важнее содержание

11
ответ дан 8 December 2019 в 04:52
поделиться

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

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

2
ответ дан 8 December 2019 в 04:52
поделиться

Из-за того, что браузеры должны приостанавливать отображение содержимого страницы при анализе файла Javascript, рекомендуется загружать Javascript по адресу внизу страницы, чтобы ускорить отображение содержимого страницы. Это лучше всего работает, если ваш веб-сайт может отображаться без выполнения какого-либо Javascript для изменения страницы, потому что страница будет доступна для взаимодействия с пользователем, даже если сценарий зависает дольше, чем ожидалось.

1
ответ дан 8 December 2019 в 04:52
поделиться

Я помещаю весь CSS в ЗАГОЛОВОК, чтобы избежать чрезмерного рисования на экране и вспышек стиля.

Я размещаю большинство запросов файлов JavaScript внизу страницы, чтобы страница могла быстро отображаться ( Загрузка HTML / CSS будет заблокирована до тех пор, пока теги сценария над ними не будут загружены и обработаны). Любой код, который необходимо выполнить после загрузки файлов библиотеки, выполняется в DOMReady, который представляет собой весь код, за исключением инициализации библиотеки. Я в значительной степени следовал рекомендациям Google PageSpeed ​​.

Я думал об использовании LABjs , чтобы еще больше уменьшить время загрузки страницы, но сейчас это работает достаточно хорошо.

]
2
ответ дан 8 December 2019 в 04:52
поделиться
7
ответ дан 8 December 2019 в 04:52
поделиться

Я поставил все внешние скрипты (такие как Google Analytics) внизу, чтобы их отставание не влияло на загрузку DOM.

0
ответ дан 8 December 2019 в 04:52
поделиться

Проще говоря, если в вашем скрипте есть фрагменты, которые будут выполняться сразу же (за пределами всех тел function () {} ) и которые обращаются к элементам DOM, он должен идти в конце страницы, чтобы DOM имела были созданы и готовы к доступу к моменту начала выполнения скрипта.

Если вы обращаетесь к DOM только из вызовов функций (например, onload , onclick и т. д.), вы можете безопасно поместите сценарий в сам раздел заголовка.

0
ответ дан 8 December 2019 в 04:52
поделиться

Как говорили другие, объединений вообще не следует избегать. Фактически, в большинстве моделей редко бывает, чтобы не было нескольких объединений в каждом отдельном запросе, выполняемом приложением.

Даже в самых больших запросах они обычно не вызывают проблем с производительностью - и часто устраняют проблемы производительности, которые могут возникнуть, у вас есть избыточные и повторяющиеся данные повсюду.

Однако имейте в виду, что под прикрытием база данных просто объединяет две таблицы за раз. Таким образом, для присоединения к базе данных требуется выполнение нескольких шагов, невидимых для разработчика. Когда он выполняет эти соединения, он должен принять несколько решений о том, как это сделать:

  • пройти через все значения в левой таблице, затем сопоставить их по одному со значениями справа?
  • Сделать прямо противоположное?
  • Сортировать ключи в обеих таблицах и просматривать их одновременно?
  • Строить хэши ключей с обеих сторон?
  • Применять критерии фильтрации до или после данного объединения?
  • и т. Д.

Итак, если ваши объединения являются сложными, в конечном итоге эффективность будет зависеть от сложности вашего оптимизатора / планировщика, а также от валюты и детализации вашей статистики. MySQL здесь не является сильным соперником, поэтому я бы обычно делал свою модель и sql немного проще, чем если бы я использовал что-то еще. Но несколько соединений на запрос почти всегда подойдут.

если ваши объединения сложные, то в конечном итоге эффективность будет зависеть от сложности вашего оптимизатора / планировщика, а также от валюты и детализации вашей статистики. MySQL здесь не является сильным соперником, поэтому я бы обычно делал свою модель и sql немного проще, чем если бы я использовал что-то еще. Но несколько соединений на запрос почти всегда подойдут.

если ваши объединения сложные, то в конечном итоге эффективность будет зависеть от сложности вашего оптимизатора / планировщика, а также от валюты и детализации вашей статистики. MySQL здесь не является сильным соперником, поэтому я бы обычно делал свою модель и sql немного проще, чем если бы я использовал что-то еще. Но несколько соединений на запрос почти всегда подойдут.

5+), что означает, что оценка сценария может произойти «позже». Перемещение элементов script в нижнюю часть страницы фактически делает то же самое - поскольку ваши сценарии появляются в конце документа, они будут оцениваться после загрузки CSS, изображений и т. Д. И HTML-кода. обработано.

1
ответ дан 8 December 2019 в 04:52
поделиться

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

0
ответ дан 8 December 2019 в 04:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: