Cytoscape:即使是教程也是TypeError

时间:2017-05-16 10:21:48

标签: javascript cytoscape.js

我想使用Cytoscape.js,因此我复制粘贴了他们的tutorial

var cy = cytoscape({
    container: document.getElementById('cy')
});

...我得到了这个(在Firefox控制台上):

TypeError: r is null

和(在Safari控制台上):

TypeError: null is not an object (evaluating 'r.className')

Chrome上的错误仍然存​​在,始终指示cytoscape.min.js的第39行。

当然,我有一个HTML <div id="cy"></div>元素。

为什么会出现此错误?此外,我尝试添加一些节点,它们在JSFiddle上呈现,但不在浏览器上呈现......

2 个答案:

答案 0 :(得分:2)

错误的原因如下:我在页面加载之前尝试初始化Cytoscape图形,因此Cytoscape在HTML中找不到任何#cy div。 / p>

解决方案只是将初始化包装在一个函数中,并在页面加载后调用此函数(使用<body onload="setupMyGraph();"> ... </body>)。

答案 1 :(得分:1)

afaik,这应该解决你的问题

document.addEventListener("DOMContentLoaded", function() {
  cy = cytoscape({
    container: document.getElementById("cy"),
  })
 <cytoscape stuff like adding nodes, setting style, ...>
})