【发布时间】:2012-11-26 20:07:38
【问题描述】:
我正在通过本教程学习 WebGL:https://developer.mozilla.org/en-US/docs/WebGL/Animating_textures_in_WebGL,在上一课中它展示了如何将视频对象用作纹理。这里有一个活生生的例子:https://developer.mozilla.org/samples/webgl/sample8/index.html 工作得很好(我使用的是 Firefox)。问题是当我自己尝试这样做时,我遇到了问题。更奇怪的是,我的电脑(离线)和主机(在线)有不同的错误消息。离线错误:
file:///C:/Users/NPS/Desktop/gallery/video.html(351): SecurityError: 操作不安全。
第 351 行是:
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, videoElement);
Firefox 开发者工具栏还说:
错误:WebGL:禁止从未经 CORS 验证的跨域元素加载 WebGL 纹理。见https://developer.mozilla.org/en/WebGL/Cross-Domain_Textures
我已经阅读了有关该错误的信息,但由于 html 和视频文件都在同一个位置,因此它不起作用似乎很奇怪。此外,当我打开页面时,实际上会播放视频文件中的声音(仅此而已)。另一方面,在线版本的错误是不同的(但我不能把它放在这里,因为它是波兰语,我不确定确切的英文版本是什么。但如果你有 Firefox,你可以在这里查看:http://nps.netarteria.pl/gallery/video.html (我为此使用了 firefox 开发人员栏)。当然,您可以查看页面的源代码以及我在那里使用的所有内容。
知道我可以做些什么来让它工作吗?我真的很想在我的项目中添加视频纹理,但现在我陷入了困境。
【问题讨论】: