Javascript 未捕获引用错误:未定义Viva

Javascript 未捕获引用错误:未定义Viva,javascript,vivagraphjs,Javascript,Vivagraphjs,新的JS。不知道为什么我在Chrome中加载时会出现以下错误。vivagraph.js文件与html文件位于同一目录中 <!DOCTYPE html> <html> <head> <title>01. Create Graph. Vivagraph SVG tutorial.</title> <script type="text/javascript" src="./vivagraph.js"></sc

新的JS。不知道为什么我在Chrome中加载时会出现以下错误。
vivagraph.js
文件与html文件位于同一目录中

<!DOCTYPE html>
<html>
<head>
    <title>01. Create Graph. Vivagraph SVG tutorial.</title>
    <script type="text/javascript" src="./vivagraph.js"></script>
    <script type="text/javascript">
        function main () {
            // Step 1. We create a graph object.
            var graph = Viva.Graph.graph();

            // Step 2. We add nodes and edges to the graph:
            graph.addLink(1, 2);

            /* Note: graph.addLink() creates new nodes if they are not yet 
               present in the graph. Thus calling this method is equivalent to:

               graph.addNode(1);
               graph.addNode(2);
               graph.addLink(1, 2);
            */

            // Step 3. Render the graph.
            var renderer = Viva.Graph.View.renderer(graph);
            renderer.run();
        }
    </script>

    <style type="text/css" media="screen">
        html, body, svg { width: 100%; height: 100%;}
    </style>
</head>
<body onload='main()'>

</body>
</html>

1创建图形。Vivagraph SVG教程。
函数main(){
//步骤1.我们创建一个图形对象。
var-graph=Viva.graph.graph();
//步骤2.我们向图中添加节点和边:
图1.addLink(1,2);
/*注意:graph.addLink()会创建新节点(如果它们尚未创建)
出现在图中。因此调用此方法相当于:
图1.addNode(1);
图1.addNode(2);
图1.addLink(1,2);
*/
//步骤3.渲染图形。
var renderer=Viva.Graph.View.renderer(图形);
renderer.run();
}
html,正文,svg{宽度:100%;高度:100%;}

如果
vivagraph.js
与html位于同一目录中,则可以使用
src=“jsFilename”
而不是
src=“./jsFilename”

要删除错误,请使用jQuery的

$(document).ready(function() {
    ...
});
或速记:

$(function() {
    ...
});
在viva脚本完成解析之前,正在执行
main()
。您需要将
main()
绑定到
body onload
,而不是
document.ready

很多框架都喜欢管理细节,但您可以通过将对main的调用放在页面底部附近的一个闭包中来实现这一点:

</html>
<script type="text/javascript">var foo=(function() {main();})();</script>

var foo=(函数(){main();})();

在Chrome中打开调试控制台并检查错误

备选方案:

  • 无法打开文件(如果在同一目录上,您可以使用“vivagraph.js”)
  • 打开文件时出现语法错误
  • 文件打开正常,但不同版本未定义全局对象Viva

  • -1没有解决OP问题。在脚本加载时可能不是404(除非perm设置不正确,在这种情况下,此建议也没有帮助)。