0

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>
4

3 回答 3

0

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

要删除您的错误,请使用 jQuery 的$(document).ready()

$(document).ready(function() {
    ...
});

或速记之一:

$(function() {
    ...
});
于 2013-10-24T19:35:44.103 回答
0

main()viva 脚本完成解析之前正在执行。您需要将main()not to 绑定到body onload,而是 todocument.ready

许多像jQuery这样的框架管理细节,但你可以通过将 main 调用放在页面底部附近的闭包中来近似相同:

</html>
<script type="text/javascript">var foo=(function() {main();})();</script>
于 2013-10-24T19:36:37.397 回答
0

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

备择方案:

  1. 无法打开文件(如果在同一个目录中,您可以使用“vivagraph.js”)
  2. 文件打开时出现语法错误
  3. 文件打开正常,但不同版本未定义全局对象 Viva
于 2013-10-24T19:37:25.333 回答