【问题标题】:SecurityError when rendering textures in Three.js with phonegap/cordova on iOS WKWebView在 iOS WKWebView 上使用 phonegap/cordova 在 Three.js 中渲染纹理时出现 SecurityError
【发布时间】:2016-11-11 12:22:54
【问题描述】:

在 Three.js (gl.texImage2D.apply(gl,arguments) 中渲染纹理时出现 SecurityError: DOM Exception 18 并且材质显示为黑色。我在 iOS WKWebView(平台版本 4.1.1)上使用 phonegap 6.2.9(cordova 6.1.1)、Three.js(r78)。

只要我基于this project 直接使用 WKWebView 组件构建应用程序,一切都可以正常工作。

切换到 phonagap 后,我遇到了这个问题。我认为这是由 Content-Security-Policy 引起的,但无法通过这种方式解决。将图像作为 base64 png 可以工作,但是我有多个大图像并且文件大小不实用。

现在我担心这与local XmlHttpRequests 的问题相同。 但是从外部 URL 加载图像也会导致 SecurityError。而且我无法理解,为什么 phonegap/cordova 有问题,而裸 WKWebView 组件没有问题(见上文)。

我不知道进一步,强烈需要帮助。 提前致谢。

【问题讨论】:

  • 你已经找到了解决方案

标签: ios cordova three.js wkwebview


【解决方案1】:

如果您计划通过 http 提供资产,您可能应该研究 CORS。

您需要为您的资产设置一个 Access-Control-Allow-Origin HTTP 标头,有关详细信息,请参阅此 wiki 文章: https://en.wikipedia.org/wiki/Cross-origin_resource_sharing

【讨论】:

  • 不幸的是,我必须在本地访问资产。
猜你喜欢
  • 1970-01-01
  • 2021-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-15
  • 2016-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多