2013-10-24 4 views
0

JS가 처음입니다. Chrome에서이 오류를로드 할 때 왜 아래 오류가 표시되는지 잘 모르겠습니다. vivagraph.js 파일은 html과 동일한 디렉토리에 있습니다. vivagraph.js은 HTML과 같은 디렉토리에있는 경우잡히지 않은 ReferenceError : 비바가 정의되지 않았습니다.

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

답변

0

당신은 당신의 오류를 제거하려면 src="jsFilename" 대신 src="./jsFilename"

의 사용, 사용 jQuery의 $(document).ready() :

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

또는 속기 하나 :

$(function() { 
    ... 
}); 
+0

를 정의하지 않습니다 -1 OP 문제를 해결하지. 스크립트 로딩 중 404가 아닐 수도 있습니다 (perms가 올바르게 설정되어 있지 않으면이 권장 사항이 도움이되지 않습니다). – PaulProgrammer

+0

@PaulProgrammer 참조 편집 – Coder

0

비바 스크립트가 구문 분석을 완료하기 전에 main()이 실행 중입니다. main()body onload이 아니라 document.ready으로 묶어야합니다.

jQuery 같은 프레임 워크의 많은 세부 사항을 관리하지만 그냥 페이지의 하단에 폐쇄 메인에 전화를 넣어 같은 근사 할 수 크롬에서

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

열기 디버그 콘솔과을 (같은 디렉토리에 그냥 "vivagraph.js"를 사용할 수있는 경우)

  1. 파일을 열 수 없습니다 : 오류

    대안을 확인 구문 오류가있는

  2. 파일 열기
  3. 파일 열기 확인하지만 다른 버전의 글로벌 객체 비바에게
관련 문제