外部 d3.sankey:d3 无法识别 - Django



我正在尝试将以下桑基示例合并到django项目中: http://bl.ocks.org/d3noob/5028304

我所有的javascript都在外部工作表中,并在javascript中调用它们.html它正在被拉入我的base.html。 问题是桑基.js文件无法识别 d3。

捕获的引用错误:未定义 d3(匿名函数)@ sankey.js:22(索引):83 未捕获的类型错误:d3.sankey 不是一个函数

我的 sankey .js 部分实际代码如下:

$.getScript("../static/js/d3.js", function(){
   alert("d3 loaded but not necessarily executed.");
});
$.getScript("../static/js/d3.min.js", function(){
   alert("d3.min loaded but not necessarily executed.");
});
$.getScript("../static/js/d3.v3.min.js", function(){
   alert("d3.v3.min loaded but not necessarily executed.");
});
d3.sankey = function() {

任何帮助将不胜感激。

您可以尝试将调用 d3.sankey 放在 $.getScript 的回调中。

或者只使用.done()功能,例如:

$.getScript("../static/js/d3.v3.min.js")
.done(function() {
     d3.sankey = function() {} // Call your logic here
});

这样,应在使用之前定义d3

经过不必要的长时间修补,我意识到我正在调用我的sankey.js脚本,然后在javascript中调用d3.v3.min.html。

为了解决,我只是将我的 d3.v3.min 库移到了我的 sankey.js 调用上方。

谢谢!!!

最新更新