[英]Uncaught ReferenceError: jQuery is not defined Django jQuery CDN
我正在构建一个 Django webapp 并想使用一个 JS 扩展来创建每周计划链接。 我已将此扩展放在我的项目的静态目录中,并在我的 base.html 中导入了 jQuery 和扩展,如下所示:
<!-- jquery -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js" defer></script>
<!-- jQuery schedule display (includes css and js) -->
<link rel="stylesheet" href="{% static 'Dynamic-Weekly-Scheduler-jQuery-Schedule/dist/jquery.schedule.css' %}">
<script src="{% static 'Dynamic-Weekly-Scheduler-jQuery-Schedule/dist/jquery.schedule.js' %}"></script>
然而,当我尝试将数据传递到这个插件时:
<script type="text/javascript">
console.log({{schedule_data}})
$("schedule").jqs({{schedule_data}})
</script>
我在 jquery.schedule.js 中得到一个错误:
Uncaught ReferenceError: jQuery is not defined
指的是这个文件的结尾是:
$.fn[pluginName] = function (options) {
var ret = false;
var args = Array.prototype.slice.call(arguments);
var loop = this.each(function () {
if (!$.data(this, 'plugin_' + pluginName)) {
$.data(this, 'plugin_' + pluginName, new Plugin(this, options));
} else if ($.isFunction(Plugin.prototype[options])) {
ret = $.data(this, 'plugin_' + pluginName)[options](args);
}
});
if (ret) {
return ret;
}
return loop;
};
})(jQuery, window, document);
我究竟做错了什么? 我不应该使用 jQuery CDN 吗? 请注意,jQuery 未在 jquery.schedule.js 文档中的其他地方定义。 谢谢
在加载 CDN 时,您可能需要注意使用defer
。 defer
告诉浏览器等待所有其他内容加载完毕,因此在您的代码中,位于底部的<script>
标记将首先开始运行。 您应该删除 jQuery CDN 中的defer
标记,并在加载<script>
时改为defer
。 这将确保您的 jQuery 库在您运行脚本之前已完全加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.