Я пытаюсь загрузить скрипты на веб-странице в следующем порядке:
<head>
...
<script src="/file1.js"></script>
<script src="/jquery-1.7.2.min.js"></script>
<script>$.holdReady(true);</script>
<script src="/file2.js"></script>
...
</head>
И иногда я получаю сообщение об ошибке "ReferenceError: $ не определено" в строке <script>$.holdReady(true);</script>
но файлы file1.js и jquery-1.7.2.min.js загружаются успешно.
Что я делаю не так?
Вы можете попробовать переупорядочить импорт таким образом. Все импортирует сначала код вызова.
<script src="/jquery-1.7.2.min.js"></script>
<script src="/file1.js"></script>
<script src="/file2.js"></script>
<script>$.holdReady(true);</script>
Мой ответ относится к этому вопросу о stackoverflow: unsaught-referenceerror-is-not-defined
Как @foiseworth говорит, что вы можете попробовать использовать jQuery
вместо $
.
Вы также можете попробовать что-то вроде этого:
(function($){
$.holdReady(true);
})(jQuery);
Попробуйте поставить включение JQuery прямо после открытия head
тега, а затем holdReady
сразу после JQuery, а затем ваших сценариев, если вы можете.