Я включил пару плагинов jQuery сторонних разработчиков в моем базовом шаблоне admin в Django, которые предполагают, что "$" будет доступен.
Для моего собственного кода я всегда был счастлив просто сделать
(function($) {
my_code = 'here';
})(django.jQuery);
но как я могу предоставить "$" для кода других людей, который находится во внешних файлах?
<script src="{{ STATIC_URL }}js/jquery.json-2.2.min.js" type="text/javascript"></script>
жалуется, что "$" - undefined. Я попытался поставить
<script type="text/javascript">var $ = django.jQuery;</script>
перед этой внешней ссылкой, но безрезультатно (кстати, почему?) Я понимаю, что загрузка происходит одновременно, но выполнение? Я могу использовать этот "$" сразу после его определения.).
Я доволен версией jQuery, которую предоставляет Django admin и действительно не хочет загружать другую. Я также не хочу редактировать какой-либо плагин, чтобы он начинался с переопределения "$" выше. EDIT: я также не хочу обертывать его, как свой собственный код, я просто не хочу касаться этих файлов вообще.
Нужно ли мне прибегать к установке $.getScript() - http://api.jquery.com/jQuery.getScript - в мою анонимную функцию для загрузки таких файлов?
EDIT: после того, как я просмотрел внешний файл jquery.json-2.2.min.js, я увидел, что он уже был включен в функцию, которая предполагала, что "jQuery" будет доступен, а не "$" . После вставки
вар jQuery = django.jQuery;
перед внешней ссылкой он работал нормально. Но действительно ли это должно быть сделано?