Вы также можете создать страницу «example.html» с вашим желаемым html и указать URL-адрес этой страницы в качестве параметра window.open
var url = '/example.html';
var myWindow = window.open(url, "", "width=800,height=600");
В зависимости от сценария и его использования самое лучшее (с точки зрения времени загрузки и рендеринга страницы) может быть для не использования стандартного < script> - отмечают по сути, но динамично инициировать загрузку сценария асинхронно.
существуют некоторые различные методы, но самое прямое должно использовать document.createElement ("сценарий"), когда window.onload событие инициировано. Тогда сценарий загружается сначала, когда сама страница представила, таким образом не влияя на время, пользователь должен ожидать страницы для появления.
Это естественно требует, чтобы сам сценарий был не нужен для рендеринга страницы.
Для получения дополнительной информации, см. сообщение Связывающиеся асинхронные сценарии Steve Souders (создатель YSlow, но теперь в Google).
XHTML не Проверит, если сценарий будет где-нибудь кроме в главном элементе. оказывается, что это может быть везде.
можно задержать выполнение с чем-то как jQuery, таким образом, не имеет значения, куда это поместило (за исключением маленького хита производительности во время парсинга).
Стандартное (и широко принятый) ответ "в нижней части", потому что тогда весь DOM будет загружен, прежде чем что-либо сможет начать выполняться.
существуют инакомыслящие по различным причинам, начиная с доступной практики для намеренного начала выполнения со страницы onload событие.
Если Вы используете JQuery, тогда помещает JavaScript везде, где Вы находите его лучше всего и используете $(document).ready()
, чтобы гарантировать, что вещи загружаются правильно прежде, чем выполнить любые функции.
На ноте стороны: Мне нравятся все мои теги script в эти <head>
раздел, поскольку это, кажется, самое чистое место.
Незадолго до заключительного тега основного текста как указано по телефону
http://developer.yahoo.com/performance/rules.html#js_bottom
Помещенные Сценарии в Нижней части
проблема, вызванная сценариями, состоит в том, что они блокируют параллельные загрузки. Спецификация HTTP/1.1 предлагает, чтобы браузеры загрузили не больше, чем два компонента параллельно на имя узла. При обслуживании изображений от нескольких имен узлов можно заставить больше чем две загрузки происходить параллельно. В то время как сценарий загружает, однако, браузер не запустит никакие другие загрузки, даже на различных именах узлов.
Стандартный совет, способствовавший Yahoo! Исключительная команда Производительности, состоит в том, чтобы поместить <script>
теги в конце тела документа, таким образом, они не блокируют рендеринг страницы.
, Но существуют некоторые более новые подходы, которые предлагают лучшую производительность, как описано в этот ответ о времени загрузки файла Google Analytics JavaScript:
существуют [приблизительно 112] большие слайды Steve Souders (клиентский эксперт по производительности) о:
- Различные методы для загрузки внешних файлов JavaScript в параллели
- их эффект на время загрузки и страницу, представляющую
- , какой "в прогрессе" индикаторы дисплеи браузера (например, 'загружающуюся' в строке состояния, курсоре мыши песочных часов).