Запуск скрипта до / после объявления переменных? - PullRequest
0 голосов
/ 14 января 2011

Как я понимаю, файлы javascript .js лучше всего размещать в нижней части HTML-страниц, чтобы ускорить загрузку остальной части страницы. По совету Yslow (Yahoo) и Page Speed ​​(Google).

Теперь, когда в середине страницы что-то запускает скрипт javascript, в Internet Explorer я вижу небольшое предупреждающее сообщение о том, что элемент:

Когда я помещаю свой файл all.js в had, ошибка исчезает, но загрузка страницы замедляется. Что делать?

На самом деле, я помню, что это было то же самое с переменными php. Если я запускаю php, но переменная появляется позже, то она просто не работает. сначала нужно определить переменную, чтобы она запускалась.

Как сделать этот рабочий процесс лучше, в случае сценариев php? а в случае javsscripts?

Спасибо!

Ответы [ 2 ]

1 голос
/ 14 января 2011

Что это за «какая-то вещь», которая запускает javascript в середине страницы? Мы не используем теги <script>, и весь код javascript, который мы помещаем, является js-файлами, которые загружаются в строгой последовательности (поэтому я точно знаю, что когда код выполняется, все, что он использует, присутствует). (хорошо, чтобы ускорить загрузку страницы, мы добавляем все файлы в несколько, как, вероятно, вы делаете, «all.js»)
Если вы используете скрипт в атрибутах html (например, onchange события и т. Д.), Попробуйте использовать ненавязчивый javascript (прикрепить ваши события из файлов javascript).
Если это не поможет, то разделите ваш javascript на несколько частей - минимум, необходимый для загрузки страницы и выполнения некоторого материала перед загрузкой другой части (в <head> страницы). Большую часть скриптов вы загрузите до </body>

1 голос
/ 14 января 2011

Вы должны поместить в библиотеку внешние скрипты (такие как swfobject, jquery и т. Д.). Но фактический вызов функции (например, для привязки события с помощью jquery или для инициализации встраивания swfobject) должен идти в конце.

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

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