我试图加载一个3D模型,存储在我的电脑本地,到Three.js与JSONLoader, 3D模型是在同一目录下,作为整个网站。

我得到了“跨起源请求只支持HTTP.”错误,但我不知道是什么原因导致它也不知道如何修复它。


当前回答

使用http://或https://创建url

错误:localhost: 8080

解决方案:http://localhost: 8080

其他回答

不可能在没有服务器的情况下加载静态本地文件(例如:svg)。如果你的机器上安装了NPM /YARN,你可以使用"http-server"来设置简单的http服务器。

npm install http-server -g
http-server [path] [options]

或者在项目文件夹中打开终端并键入“hs”。它将自动启动HTTP live服务器。

加载本地文件的一种方法是在项目文件夹中使用它们,而不是在项目文件夹之外。在您的项目示例文件下创建一个文件夹,类似于我们创建图像的方式,并替换其中使用完整的本地路径而不是项目路径的部分,并使用项目文件夹下的文件的相对url。 这对我很有效

er。我刚刚发现了一些官方文字“试图加载未构建的,远程AMD模块使用dojo/文本插件将失败,由于跨起源安全限制。(AMD模块的构建版本不受影响,因为构建系统消除了对dojo/text的调用。)”https://dojotoolkit.org/documentation/tutorials/1.10/cdn/

在Chrome中,你可以使用这个标志:

--allow-file-access-from-files

点击这里阅读更多。

只需将url更改为http://localhost而不是localhost。如果你从本地打开html文件,你应该创建一个本地服务器来服务该html文件,最简单的方法是使用Web server for Chrome。这样问题就解决了。