2012-03-05 3 views
9

Я пытаюсь создать файл javscript, который создает openheatmap. Мне нужно включить два разных файла src javascript, но то, что я сейчас делаю, не работает, вот что я делаю сейчас.Javascript multiple script src

<html> 
<head> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://static.openheatmap.com/scripts/jquery.openheatmap.js" type="text/javascript"></script> 

Есть ли лучший способ сделать это?

+2

Почему есть третий незакрытый тег 'script'? – cambraca

+5

Это правильный способ включения нескольких сценариев. Вы бы лучше опубликовали [короткий, самодостаточный, правильный пример] (http://sscce.org/) вашей проблемы. Кроме того, jQuery 1.4.2? Какой ты старый, не так ли? – Phil

+0

Третий конец тега сценария находится внизу моего файла, после этих трех строк у меня есть оставшийся код javascript. И да, я согласен, что это старая версия. – ewein

ответ

7

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

Так что я бы порекомендовал вам положить все сценарии непосредственно перед закрытием тега body.

Вы даже можете пройти эту сцену дальше и загрузить сценарии, не блокируя рендеринг страниц, что вы можете сделать с атрибутом defer (который в отличие от атрибута async гарантирует порядок выполнения, что очень важно в вашем примере).

<script defer src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
    <script defer src="http://static.openheatmap.com/scripts/jquery.openheatmap.js"></script> 
    <script defer> 
     // JavaScript here... 
    </script> 
</body> 

Вы также можете использовать атрибут OnLoad с атрибутом Defer указать метод запуска, как только DOM готов.

<script defer onload="MyStuff.domLoaded();"> 

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