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