2014-11-17 69 views
0

我是webGL新手,我試圖在firefox中使用three.js顯示json模型。我只是得到一個空白的屏幕。顯示的錯誤是three.js中的「NS_ERROR_DOM_BAD_URI:對受限URI的訪問被拒絕」。請告訴其他js sripts包括和修改。代碼附加。模型是一個3d乙烷分子。我們只是想在屏幕上旋轉。使用three.js加載json模型

<!DOCTYPE html> 
    <meta charset="utf-8"> 
    <script src="three.min.js"></script> 
    <script src="RequestAnimationFrame.js"></script> 
    <script src="requestAnimationFramePolyfill.js"></script> 
    <script src="Three.js"></script> 
<body> 
    <div id="myScene"></div> 
</body> 
<script> 
    // global 
    var scene, renderer, camera, cube, controls; 

    init(); 
    animate(); 

    function init() { 

     // scene box 
     var myScene = document.getElementById("myScene"); 

     scene = new THREE.Scene(); 
     camera = new THREE.PerspectiveCamera(45, window.innerWidth/window.innerHeight, .01, 10000); 
     camera.position.z = 500; 

     var light = new THREE.AmbientLight(0xffffff); // soft white light 
     scene.add(light); 

     var directionalLight = new THREE.DirectionalLight(0xffffff); 
     directionalLight.position.set(1, 1, 1).normalize(); 
     scene.add(directionalLight); 

     /* ==== OPTIONAL SPOTLIGHT ==== 
     var spotLight = new THREE.SpotLight(0xffffff); 
     spotLight.position.set(100, 1000, 2000); 

     spotLight.castShadow = true; 

     spotLight.shadowMapWidth = 1024; 
     spotLight.shadowMapHeight = 1024; 

     spotLight.shadowCameraNear = 500; 
     spotLight.shadowCameraFar = 4000; 
     spotLight.shadowCameraFov = 30; 

     scene.add(spotLight); 
     */ 

     renderer = new THREE.WebGLRenderer(); 
     renderer.setSize(window.innerWidth, window.innerHeight); 
     myScene.appendChild(renderer.domElement); 

     loader = new THREE.JSONLoader(); 

     loader.load("model.js", function (geometry, materials) { 
      mesh = new THREE.Mesh(geometry, new THREE.MeshPhongMaterial(materials)); 
      scene.add(mesh); 
     }); 
    } 

    function animate() { 
     requestAnimationFrame(animate); 
     render(); 
    } 

    function render() { 
     renderer.render(scene, camera); 
    } 

</script> 

回答

0

NS_ERROR_DOM_BAD_URI錯誤常來,因爲指定的文件是安全原因無法訪問。

據我所知,它應該與firefox離線工作,如果model.js與您的html文件在同一個文件夾中。使用其他瀏覽器時,只有代碼在Web服務器上運行,而不是在本地計算機上才能使用。