在我的本地,D3只在返回或前进到页面时呈现svg图表。它不会在初始页面加载时呈现。
遵循D3 tutorial here,我可以让图表在a codepen中完美呈现,或者在返回页面时呈现。
我正在使用Django的flatpages应用程序运行页面。我尝试过多种浏览器和开发工具。该页不返回任何错误,并且在调用创建图表的函数之前加载数据。
有没有什么方法可以调试D3或者我遗漏的Javascript函数?
我怀疑这与异步有关,我需要像下面这样添加一个window.onload,但到目前为止这还没有起作用。
document.addEventListener("DOMContentLoaded", function(event) {
fetch(api)
.then(function(response) { return response.json(); })
.then(function(data) {
var parsedData = parseData(data);
window.onload = function() {
drawChart(parsedData);
}
})
.catch(function(err) { console.log(err); })
});
提前感谢您的帮助。
发布于 2019-04-18 20:02:12
原来这个bug是无关的,它不是一个异步问题。我之前在页面中添加了一个svg,这导致了我的JavaScript图表绘制功能出现问题。为了解决这个问题,我不得不将d3从“svg”中选择的内容更改为一个特定的类。
https://stackoverflow.com/questions/55730113
复制