Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 开始使用JSC3D。在JSC3D中创建一个简单的文件查看器。文件未加载_Javascript_Html_Viewer_Jsc3d - Fatal编程技术网

Javascript 开始使用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="

我刚刚开始使用JSC3D

我遵循了文档中的入门指南:

代码似乎很好,但我的文件似乎没有加载,加载栏只是冻结

 <!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(允许从文件访问文件)开关启动。

问题在于您没有将站点托管在任何服务器上。