2013-11-15 4 views
0

У меня есть простой вопрос, и есть ответ, но я хочу знать, что лучше.Загрузка скриптов

При загрузке скриптов через тег <script> лучше назначить скрипт в заголовке или теле?

Книга, которую я читаю, «html5 разработки игр на примере», говорит ставить скрипты прямо перед окончанием </body> тега, так что вся нагрузка страницы (потому что, если сценарий не загружает его будет сделать страницу бесполезной).

Где, если я использую, аргумент onLoad с дополнительной загрузкой для загрузки jQuery (на веб-сайте jQuery говорится, что нельзя использовать onLoad с jQuery, так что это моя работа), все должно быть легко доступно? Без, страница застревает?

Есть ли лучший, стандартизованный метод, который будет держать мое здравомыслие под контролем?

<body onload="init()"> 

    <!-- HTML code here --> 

    <script src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
    <script> 

    function init() { 
     $(document).ready(function() { 
     jQueryReady(); 
     }); 
    }; 

    function jQueryReady(){ 

     // $("p").text("The DOM is now loaded and can be manipulated."); 

     // call remaining functions... 

    }; 

    </script> 
+0

Возможный дубликат [Должен ли я писать скрипт в теле или в заголовке html?] (Http://stackoverflow.com/questions/3531314/should-i-write-script-in-the-body -or-the-head-of-the-html) – Jud

+0

Возможный дубликат http://stackoverflow.com/questions/196702/where-to-place-javascript-in-a-html-file – slider

+0

Ввод скриптов в конец тела является чрезвычайно надежной альтернативой всем другим методам запуска скриптов, как только DOM готов. Он имеет все преимущества «готового» или «загружаемого» слушателя, а также работает в любом браузере, поддерживающем сценарии. – RobG

ответ

2

Вам не нужно инициализации при использовании document.ready как document.ready обеспечит выполнение сценария только тогда, когда DOM будет готов.

$(document).ready(function() { 
    jQueryReady(); 
}); 

JavaScript обеспечивает событие нагрузки для выполнения кода, когда страница оказывается, это событие не получает срабатывает до тех пор, все активы, такие как изображений были полностью получены. В большинстве случаев сценарий может быть запущен , как только будет построена иерархия DOM. Обработчик , переданный в .ready(), должен быть выполнен после того, как DOM готов, так что это, как правило, лучшее место для присоединения всех других событийных обработчиков и запуска другого кода jQuery. При использовании сценариев, которые полагаются на значение свойств стиля CSS, важно ссылаться на внешние таблицы стилей или вставлять элементы стилей перед ссылками на сценарии , Reference.

Смежные вопросы