【发布时间】:2015-05-27 17:39:07
【问题描述】:
我正在学习three.js。我已将对象的 .obj 文件转换为 .js 文件,并使用 JSONLoader 加载了该对象。它显示在 Firefox 浏览器上。但它在控制台中显示 javascript 异常如下:
not well-formed Porsche_911_GT2.js:1:1
与我在 chrome 浏览器上运行的代码相同。但是没有显示对象。控制台报错如下:
XMLHttpRequest cannot load file:///C:/Users/inwindow/Desktop/webGL/myTHREE.js/obj/car/Porsche_911_GT2.js. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource. three.min.js:263
THREE.JSONLoader: "obj/car/Porsche_911_GT2.js" seems to be unreachable or the file is empty. three.min.js:262
Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'file:///C:/Users/inwindow/Desktop/webGL/myTHREE.js/obj/car/Porsche_911_GT2.js'. three.min.js:263
为什么会这样?有人可以帮帮我吗?
【问题讨论】:
-
你不能用 xhr 加载
file://url,正如第一个错误所说。您如何查看应该加载对象的页面? -
@Bergi: obj/car/Porsche_911_GT2.js :我在我的 html 页面中使用的这个 url。对象在 Firefox 上显示,但不在 chrome 上。
-
嘿,我认为它需要服务器在两个浏览器上运行。当我在本地主机上运行我的页面时,它在两个浏览器上都显示了对象,并且没有错误和异常。
-
是的,这就是@kiran
-
@Bergi,Ihsan:感谢您的帮助。
标签: javascript html google-chrome firefox three.js