Где мне разместить < script > теги в разметке HTML?

Вы также можете создать страницу «example.html» с вашим желаемым html и указать URL-адрес этой страницы в качестве параметра window.open

var url = '/example.html';
var myWindow = window.open(url, "", "width=800,height=600");
1344
задан Community 23 May 2017 в 10:31
поделиться

6 ответов

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

существуют некоторые различные методы, но самое прямое должно использовать document.createElement ("сценарий"), когда window.onload событие инициировано. Тогда сценарий загружается сначала, когда сама страница представила, таким образом не влияя на время, пользователь должен ожидать страницы для появления.

Это естественно требует, чтобы сам сценарий был не нужен для рендеринга страницы.

Для получения дополнительной информации, см. сообщение Связывающиеся асинхронные сценарии Steve Souders (создатель YSlow, но теперь в Google).

2
ответ дан stpe 23 May 2017 в 10:31
поделиться
  • 1
    @Chuck: Эй, я никогда не говорил, что это было симпатично. – Dan Tao 16 September 2010 в 16:17

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

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

10
ответ дан Allain Lalonde 23 May 2017 в 10:31
поделиться

Стандартное (и широко принятый) ответ "в нижней части", потому что тогда весь DOM будет загружен, прежде чем что-либо сможет начать выполняться.

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

6
ответ дан dkretz 23 May 2017 в 10:31
поделиться

Если Вы используете JQuery, тогда помещает JavaScript везде, где Вы находите его лучше всего и используете $(document).ready(), чтобы гарантировать, что вещи загружаются правильно прежде, чем выполнить любые функции.

На ноте стороны: Мне нравятся все мои теги script в эти <head> раздел, поскольку это, кажется, самое чистое место.

23
ответ дан vaxquis 23 May 2017 в 10:31
поделиться
  • 1
    Я был уверен, что видел сделанный.. Мой мозг должен подшучивать надо мной. Спасибо все – Ben Anderson 16 September 2010 в 16:40

Незадолго до заключительного тега основного текста как указано по телефону

http://developer.yahoo.com/performance/rules.html#js_bottom

Помещенные Сценарии в Нижней части

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

228
ответ дан vaxquis 23 May 2017 в 10:31
поделиться
  • 1
    работы теперь над переменными Члена парламента, не занимающего официального поста.. – Derar 16 September 2010 в 17:04

Стандартный совет, способствовавший Yahoo! Исключительная команда Производительности, состоит в том, чтобы поместить <script> теги в конце тела документа, таким образом, они не блокируют рендеринг страницы.

, Но существуют некоторые более новые подходы, которые предлагают лучшую производительность, как описано в этот ответ о времени загрузки файла Google Analytics JavaScript:

существуют [приблизительно 112] большие слайды Steve Souders (клиентский эксперт по производительности) о:

  • Различные методы для загрузки внешних файлов JavaScript в параллели
  • их эффект на время загрузки и страницу, представляющую
  • , какой "в прогрессе" индикаторы дисплеи браузера (например, 'загружающуюся' в строке состояния, курсоре мыши песочных часов).
37
ответ дан Rory O'Kane 23 May 2017 в 10:31
поделиться
  • 1
    @BenAnderson, я знаю то, что Вы имеете в виду - я провел часы, несколько дней назад тралящие ' сеть, когда я был уверен это I' d читают где-нибудь, что SMB2 позволяет копии файла от одного удаленного сервера до другого не быть направленной через клиентскую машину, выполняющую запрос. Часы проиграли, и я не мог найти доказательство, хотя я был непреклонен I' d читают, что это было возможно!: S – Rob 16 September 2010 в 19:15
Другие вопросы по тегам:

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