Существует лучший способ включить файлы 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();">
В отношении другой части вашего вопроса, касающегося работы вашего сценария, просьба предоставить дополнительную информацию.
Почему есть третий незакрытый тег 'script'? – cambraca
Это правильный способ включения нескольких сценариев. Вы бы лучше опубликовали [короткий, самодостаточный, правильный пример] (http://sscce.org/) вашей проблемы. Кроме того, jQuery 1.4.2? Какой ты старый, не так ли? – Phil
Третий конец тега сценария находится внизу моего файла, после этих трех строк у меня есть оставшийся код javascript. И да, я согласен, что это старая версия. – ewein