我在使用ios 10.3中的webGL将360视频渲染到画布时遇到了问题 此问题的类似症状指向众所周知的ios safari CORS问题尚待修复。建议的解决方法围绕反向代理或在同一域上托管视频。
我在同一个域上播放视频,但仍然收到此问题:
SecurityError (DOM Exception 18): The operation is insecure.
不仅同一域上的视频我也在服务器上设置了这个:
Access-Control-Allow-Origin:*
(但是在这种情况下,我应该遇到CORS问题,这没有任何意义。简单地说,安全性错误似乎是所述问题的症状)。
此问题仅发生在ios 10.3中。 ios 10.2可以正确渲染我的360视频。此外,所有现代桌面和Android浏览器都可以正常呈现视频(下面的代码片段中的视频只是视频元素源)。以下是错误指向safari Web检查器中的行:
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, this.video);
这是我.html
文件中视频的位置:
<video id="video" autoplay preload="auto" crossorigin="anonymous" style="display: none;" playsinline>
<source src="https://example.com/example360video.mp4?q=1" type="video/mp4">
</video>
我正忙着使用q=1
这里也是通过curl -v
从我的视频中检索到的标题:
&LT; HTTP / 1.1 200 OK&lt;日期:2017年4月13日星期四15:51:51 GMT&lt;服务器: Apache / 2.2.31&lt;最后修改时间:2017年4月12日星期三15:07:57 GMT&lt; ETag的: “xxxxxxxxxxxxxx”&lt; Accept-Ranges:bytes&lt;内容长度:43720623&lt; 高速缓存控制:max-age = 2592000&lt;到期日:2017年5月13日星期六15:51:51 GMT&lt; Access-Control-Allow-Origin:*&lt;连接:关闭&lt; 内容类型:video / mp4
还有其他人遇到过这个问题吗?有人可以提供解决方案吗?我有这个网页在除ios 10.3之外的每个平台上工作,并且完全被这个阻碍进一步开发的问题所困扰。