如何解决如何在iOS中创建将隐藏的HTML5视频元素?
我正在尝试在HTML5 / js中创建视频元素,这样我就可以将其完全下载到内存中并播放而无需缓冲。
问题是当我在iOS中创建视频元素时,当我开始播放时,它将始终以全屏方式显示其播放器。 如果您使用样式为“ display:hidden”的视频标签,则可以在iOS中播放隐藏的视频。 但是,当尝试使用js代码执行此操作时,此操作将无效。
loop_forever()
解决方法
- 完整下载视频:
内置于HTML5视频标签中的是preload属性。 preload =“ auto”告诉浏览器下载整个视频。 (YMMV-Chrome浏览器会下载很多视频,但不会下载全部视频。)
添加element.preload = "auto"
是您所需要的技巧。
- 显示:没有不隐藏视频吗?
我的同事找到了解决方案。
我所做的是video.playsinline = true;
,但是还需要设置另一个旧选项。
webkit-playsinline
,但是由于-
不能以这种方式设置。
因此,最终他发现您需要使用setAttribute
进行设置,因此有效的解决方案如下:
function CreateVideoElement(url,callback)
{
var element = document.createElement('video');
element.controls = false;
element.style.display = "none";
element.autoplay = false;
element.setAttribute('webkit-playsinline','webkit-playsinline');
element.setAttribute('playsinline','playsinline');
element.onloadedmetadata = function() {
callback();
};
element.src = url;
return element;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。