大家好,我目前在文件中执行所有THREE.js事项:///。
当我按照教程加载模型时,
var myLoader = new THREE.JSONLoader();
myLoader.load( url-path-to-file );
错误:
XMLHttpRequest cannot load file:///C:/.../.../.../testmodel.js. Cross origin requests are only supported for HTTP. three.js:11996
THREE.JSONLoader: "./testmodel.js" seems to be unreachable or the file is empty. three.js:11952
Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:/.../.../.../testmodel.js'.
由于使用文件协议的限制,我无法加载这样的内容。我想知道如何跳过这个?我正在考虑将导出的混合器存储为JavaScript对象,然后可能已经有一块THREE.js可以为我做其余的工作了吗?
答案 0 :(得分:0)
从根目录运行python Web服务器是我为避免XSS相关错误所做的工作。我在windows中安装了python。
来自具有HTML文件的目录的Windows中的Python版本3:
c:\Python33\python.exe -m http.server
然后将浏览器指向:
http://localhost:8000/yourhtmlfile.html
有关为各种版本的python / OS运行服务器的更多信息,请参见此处:
https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally
答案 1 :(得分:0)
查看这个小项目。它是一个3D文件查看器,能够在客户端本地加载STL和Collada文件。在本地和服务器上运行:
https://github.com/yomboprime/Visor3D
从代码中派生出一个本地 JSON加载器函数是微不足道的。 Yoy可以开始修改loadDAEFile()函数(main.js),它将本地文件作为文本读取。