在玩了三个.js和gltf加载程序之后,我注意到Mozilla和Edge不要求gltf文件位于web服务器中,但ie11要求。有人能解释一下为什么会这样吗?
感谢
这是因为浏览器中的安全限制。例如,如果您尝试通过文件协议(file:///
(直接从文件加载glTF
资产,Chrome会记录以下错误:
访问'XMLHttpRequestfile:///...DamagedHelmet.gltf"from origin"null"已被CORS策略阻止:跨来源请求仅支持以下协议方案:http、data、chrome、chrome扩展、https。"。
浏览器的行为各不相同,因为它们没有实现相同的安全策略。
为了避免与安全相关的问题,three.js
建议在开发/测试从外部文件加载资产的WebGL应用程序时使用本地web服务器。