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

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


当前回答

当我下载一个页面进行离线查看时,我就遇到了这种情况。

我只需要从所有<link>和<script>标签中删除integrity="*****"和crossorigin="anonymous"属性

其他回答

只是显式-是的,错误是说你不能将浏览器直接指向file://some/path/some.html

这里有一些选项可以快速启动本地web服务器,让浏览器呈现本地文件

Python 2

如果你安装了Python…

使用cd /path/to/your/folder命令将目录更改为文件some.html所在的文件夹 使用Python -m SimpleHTTPServer命令启动一个Python web服务器

这将启动一个web服务器,在http://localhost:8000上托管您的整个目录列表

你可以使用自定义端口python -m SimpleHTTPServer 9000给你链接:http://localhost:9000

这种方法内置于任何Python安装中。

Python 3

执行相同的步骤,但使用以下命令代替python3 -m http.server

VSCode

如果你正在使用Visual Studio Code,你可以安装Live Server扩展,它提供了一个本地web服务器环境。

node . js

或者,如果你需要一个更灵敏的设置,并且已经使用了nodejs…

通过输入npm Install -g http-server安装http-server 切换到你的工作目录,yoursome.html所在的目录 通过发出http-server -c-1启动http服务器

这将启动一个Node.js httpd,它将目录中的文件作为可从http://localhost:8080访问的静态文件提供

Ruby

如果你的首选语言是Ruby…红宝石之神说这也管用:

ruby -run -e httpd . -p 8080

PHP

当然,PHP也有它的解决方案。

php -S localhost:8000

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

--allow-file-access-from-files

点击这里阅读更多。

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

简单的解决方案,谁使用VS Code

我得到这个错误已经有一段时间了。大多数答案都是可行的。但我找到了一个不同的解决方案。如果你不想处理node.js或任何其他解决方案在这里,你正在使用一个HTML文件(从另一个js文件调用函数或获取json api的)尝试使用Live Server扩展。

它允许您轻松地打开一个活动服务器。因为它创建了本地主机服务器,所以问题得到了解决。您可以通过打开HTML文件并右键单击编辑器并单击open with Live Server来启动localhost。

它基本上使用http://localhost/index.html加载文件,而不是使用file://....

EDIT

不需要有.html文件。您可以使用快捷方式启动活动服务器。

按(alt+L, alt+O)打开服务器,按(alt+L, alt+C)停止服务器。[在MAC上,cmd+L, cmd+O和cmd+L, cmd+C]

希望它能帮助到别人:)

它只是说应用程序应该在web服务器上运行。我在chrome上也有同样的问题,我启动tomcat并将我的应用程序移动到那里,它工作了。