我正在尝试使用 JSONLoader 将 3D 模型加载到 JSONLoader
中,并且该 3D 模型与整个网站位于同一目录中。
我收到 "Cross origin requests are only supported for HTTP."
错误,但我不知道是什么原因造成的,也不知道如何解决。
原文由 corazza 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试使用 JSONLoader 将 3D 模型加载到 JSONLoader
中,并且该 3D 模型与整个网站位于同一目录中。
我收到 "Cross origin requests are only supported for HTTP."
错误,但我不知道是什么原因造成的,也不知道如何解决。
原文由 corazza 发布,翻译遵循 CC BY-SA 4.0 许可协议
明确一点-是的,错误是说您不能将浏览器直接指向 file://some/path/some.html
这里有一些选项可以快速启动本地 Web 服务器,让您的浏览器呈现本地文件
如果你安装了 Python…
使用命令将目录更改为文件 some.html
或文件所在的文件夹 cd /path/to/your/folder
使用命令启动 Python Web 服务器 python -m SimpleHTTPServer
这将启动一个网络服务器来托管您的整个目录列表 http://localhost:8000
python -m SimpleHTTPServer 9000
为您提供链接: http://localhost:9000
这种方法内置于任何 Python 安装中。
执行相同的步骤,但改用以下命令 python3 -m http.server
如果您使用的是 Visual Studio Code ,则可以安装提供本地 Web 服务器环境的 Live Server 扩展。
或者,如果您需要响应速度更快的设置并且已经在使用 nodejs …
安装 http-server
输入 npm install -g http-server
切换到您的工作目录,您的 some.html
所在的目录
通过发出 http-server -c-1
启动你的http服务器
这会启动一个 Node.js httpd,它将您目录中的文件作为静态文件提供服务,可从 http://localhost:8080
如果您喜欢的语言是 Ruby … Ruby Gods 说这也行得通:
ruby -run -e httpd . -p 8080
当然PHP也有它的解决办法。
php -S localhost:8000
原文由 Scott Stensland 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
我的水晶球说您正在使用
file://
或C:/
加载模型,这与错误消息保持一致,因为它们不是http://
因此,您可以在本地 PC 中安装网络服务器或将模型上传到其他地方并使用
jsonp
并将 url 更改为http://example.com/path/to/model
起源在 RFC-6454 中定义为
因此,即使您的文件来自同一主机(
localhost
),但只要方案不同(http
/file
),它们就会被视为不同的来源。