Javascript 开始使用JSC3D。在JSC3D中创建一个简单的文件查看器。文件未加载
我刚刚开始使用JSC3D 我遵循了文档中的入门指南: 代码似乎很好,但我的文件似乎没有加载,加载栏只是冻结Javascript 开始使用JSC3D。在JSC3D中创建一个简单的文件查看器。文件未加载,javascript,html,viewer,jsc3d,Javascript,Html,Viewer,Jsc3d,我刚刚开始使用JSC3D 我遵循了文档中的入门指南: 代码似乎很好,但我的文件似乎没有加载,加载栏只是冻结 <!DOCTYPE HTML> <HTML> <HEAD> <TITLE>Loader</TITLE> <script type="text/javascript" src="jsc3d/jsc3d.js"></script> <script type="text/javascript" src="
<!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中测试时,似乎工作正常。在chrome中加载外部文件可能有问题。首先,如果显示实时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代码匹配正确时,这对我来说非常有效。
您可以检查页面源代码中的路径,看看是否正确
我希望我帮助了你 JSC3D演示(例如,从服务器查看时)可以正常工作,但是当从本地文件系统运行相同的代码时,它无法在IE或Chrome中加载模型。IE没有提到加载,Chrome显示一个进度条并挂起。其他查看器信息背景颜色、背景图像、演示的选项控件等均正确显示。该演示程序将模型定义存储在html文件中,而不是外部文件中,存储在本地文件系统中时可以正常运行
Chrome暴露了问题-浏览器认为本地文件系统上的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加载对象,而不考虑对象文件的协议方案
描述如何从本地磁盘读取文件,为了使用本地文件,当对象文件URL指向本地文件系统时,显然需要修改loadObjFile,以包含使用FileReader而不是xhr的特殊情况
即使jsc3d被修改为使用FileReader,它显然在默认情况下仍然无法工作。浏览器需要使用-allow file access from files(允许从文件访问文件)开关启动。问题在于您没有将站点托管在任何服务器上。