尝试使用 JSONLoader 将 3D 模型加载到 Three.js 时,用户可能会遇到以下问题:遇到错误“仅 HTTP 支持跨源请求”。当使用非 HTTP 协议访问本地文件时,就会出现此问题。
错误消息准确指出仅 HTTP 支持跨域请求。但是,原因在于本地文件通常使用“file://”或“C:/”协议加载。根据 RFC-6454,来源由方案、主机和端口定义。在这种情况下,即使文件和网站位于同一主机(例如 localhost),方案(文件/http)的差异也将它们标记为来自不同的来源。
要解决此问题,有两种可能的方法:
1.安装本地 Web 服务器:
在您的计算机上安装本地 Web 服务器,例如 Apache 或 Nginx。然后,配置 Web 服务器来托管 3D 模型并使用“http://”协议访问它。这可确保使用与网站相同的源加载文件。
2.将模型上传到外部主机:
或者,将 3D 模型上传到第三方托管服务,例如 Google Cloud Storage 或 Amazon S3。这允许您使用 HTTP 格式的 URL 访问该文件(例如“http://example.com/path/to/model”)。
以上是为什么我在加载本地 3D 模型时收到'仅支持 HTTP 的跨源请求”?的详细内容。更多信息请关注PHP中文网其他相关文章!