2014-09-19 16 views
1

我剛開始使用JSC3D。JSC3D入門。在JSC3D中創建一個簡單的文件查看器。文件未加載

我按照文檔中的入門指南:https://code.google.com/p/jsc3d/wiki/GettingStarted

的代碼看起來不錯,但我的文件似乎並沒有加載,加載酒吧只是凍結。

<!DOCTYPE HTML> 
<HTML> 
<HEAD> 
<TITLE>Loader</TITLE> 
<script type="text/javascript" src="jsc3d/jsc3d.js"></script> 
<script type="text/javascript" src="jsc3d/jsc3d.webgl.js"></script> 
<script type="text/javascript" src="jsc3d/jsc3d.touch.js"></script> 
</HEAD> 

<BODY> 
<div style="width:800px; margin:auto; position:relative;"> 
    <canvas id="cv" style="border: 1px solid;" width="750" height="400"> 
     It seems you are using an outdated browser that does not support canvas :-(
    </canvas> 
</div> 

<script type="text/javascript"> 
     var viewer = new JSC3D.Viewer(document.getElementById('cv')); 
     viewer.setParameter('SceneUrl',   'cube.obj'); 
     viewer.setParameter('ModelColor',  '#CAA618'); 
     viewer.setParameter('BackgroundColor1', '#E5D7BA'); 
     viewer.setParameter('BackgroundColor2', '#383840'); 
     viewer.setParameter('RenderMode',  'flat'); 
     viewer.init(); 
     viewer.update(); 
    </script> 

</BODY> 
</HTML> 

有沒有人知道我要去哪裏錯了?

問候,

B先生

編輯:似乎當鉻不測試工作的罰款。可能是在chrome中加載外部文件的問題。

+0

問題是你沒有在任何服務器上託管你的網站。 – 2017-03-30 06:08:06

回答

0

首先,如果你顯示實時URL會更容易幫助:)

我覺得你有與路徑JS jsc3d蒼蠅一個問題:

<script type="text/javascript" src="jsc3d/jsc3d.js"></script> 
<script type="text/javascript" src="jsc3d/jsc3d.webgl.js"></script> 
<script type="text/javascript" src="jsc3d/jsc3d.touch.js"></script> 

這對我來說,當運作良好路徑是正確的(用你的html代碼)。 您可以檢查頁面源代碼中的路徑,看它是否爲真。

我希望我幫你!

0

JSC3D演示(例如Statue)在從服務器查看時工作正常,但是當從本地文件系統運行相同的代碼時,無法在IE或Chrome中加載模型。 (IE沒有提及加載,Chrome顯示進度條並掛起)。其他查看器信息(背景顏色,背景圖像,BMW演示的選項控件等)將正確顯示。演示文件Avatar包含html文件中的模型定義而不是外部文件,在存儲在本地文件系統上時可以正常運行。

鉻揭示了問題 - 在瀏覽器認爲,在本地文件系統試圖加載從本地文件系統對象的HTML文件是一個跨站點腳本攻擊,並阻止負載:

XMLHttpRequest cannot load file:///X:/jsc3d/demos/bank/Western_Bank.obj. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.JSC3D.ObjLoader.loadObjFile @ jsc3d.js:5117 
jsc3d.js:5111 The XMLHttpRequest progress event property 'position' is deprecated. Please use 'loaded' instead. 
jsc3d.js:5111 The XMLHttpRequest progress event property 'totalSize' is deprecated. Please use 'total' instead. 
jsc3d.js:5117 Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///X:/jsc3d/demos/bank/Western_Bank.obj'. 

的例程JSC3D.ObjLoader.loadObjFile(jsc3d.js行5071-5118)使用xhr加載對象,而不管目標文件的協議方案如何。

How to open a local disk file with Javascript?介紹瞭如何讀取從本地磁盤上的文件,爲了與本地文件loadObjFile(工作)顯然需要修改使用FileReader代替xhr包括當目標文件的URL指的是一種特殊情況本地文件系統。

即使jsc3d被修改爲使用FileReader,它仍然顯然不會默認工作,根據Chrome FileReader。瀏覽器需要使用--allow-file-access-from-files開關啓動。

相關問題