0

JS初心者。これを Chrome にロードすると、以下のエラーが発生する理由がわかりません。ファイルは、vivagraph.jshtml と同じディレクトリにあります。

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

main()、viva スクリプトが解析を完了する前に実行されています。をではなくmain()に結び付ける必要があります。body onloaddocument.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 に答える
0

vivagraph.jshtmlと同じディレクトリにある場合は、src="jsFilename"代わりに使用できますsrc="./jsFilename"

エラーを取り除くには、jQuery の$(document).ready()を使用します。

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

または簡略化したもの:

$(function() {
    ...
});
于 2013-10-24T19:35:44.103 に答える