![](/img/trans.png)
[英]DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at “https://xxxx.xxxx” may not be loaded
[英]SecurityError for same-origin image texImage2D
我目前正在学习WebGL。 在对纹理完成加载时调用的texImage2D的调用中,我得到以下SecurityError
:
Uncaught SecurityError: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The cross-origin image at /path/to/texure.png may not be loaded.
但是,该文件位于同一个域中,实际上它与请求它的html文件位于同一目录中。
这是文件布局:
> js
|-> script.js
|-> glUtils.js
|-> sylvester.js
> texture.png
> index.html
当我查看F12控制台的资源列表时,图像texture.png
就在那里,完全加载,它是256 x 256.为什么它认为我从另一个域请求?
解决方案是您必须在本地Web服务器上,因为不会授予file:///域请求。 (Pointy提供的信息:
如果您从本地网络服务器提供这些内容,它将起作用,因为浏览器会将这些内容视为来自同一个域。 Chrome曾经有一个命令行选项允许它: - allow-file-access-from-files但我不知道它是否仍然有效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.