【发布时间】:2021-01-31 20:35:28
【问题描述】:
我正在使用 Cordova 开发一个移动应用程序,其中包含一个 HTML 画布,并且我在 3d 环境中使用了 three.js。
当我尝试渲染 3d 环境时,纹理没有被正确渲染;我所有的 3d 对象都显示为黑色。控制台抛出错误:
THREE.WebGLState: – SecurityError: 操作不安全。 — 三分钟 js:111 q——三个.min.js:114:271
这发生在一个 texImate2d 函数中。
我认为这不是 CORS 问题,因为我的所有纹理文件都是应用程序本地的。我正在创建图像对象并使用 cordova.file.applicationDirectory + path 作为加载纹理的源。当我在 Three.js WebGLRenderer 上调用 render() 时,在加载纹理并将对象添加到场景后发生错误。
更疯狂的是,这在一周前还可以正常工作,而无法加载的纹理似乎是凭空出现的。我没有在应用程序中更改与此相关的任何内容,并且我不知道有任何重大更新。这在 Android 设备上仍然可以正常工作。
我已经对这个问题进行了大量搜索,大多数类似的问题似乎与 CORS 相关,但正如我所说,我认为这里不是这种情况,因为所有纹理文件都是应用程序本地的。有没有人遇到过这个?谢谢!
【问题讨论】:
标签: ios cordova three.js html5-canvas phonegap