Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在移动设备上使用Chrome浏览器强制视频自动播放_Javascript_Jquery_Google Chrome - Fatal编程技术网

Javascript 在移动设备上使用Chrome浏览器强制视频自动播放

Javascript 在移动设备上使用Chrome浏览器强制视频自动播放,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,使用移动设备时,视频自动播放在Chrome上不起作用,但在Firefox和Opera上起作用。(不知道Safari的故事是什么,因为我没有iOS设备) 选项1:使用视频标签: html代码: <video autoplay loop poster="images/bg.jpg" id="video_bg"> <source src="video.webm" type="video/webm"> <source src="video.mp4" type="video/

使用移动设备时,视频自动播放在Chrome上不起作用,但在Firefox和Opera上起作用。(不知道Safari的故事是什么,因为我没有iOS设备)

选项1:使用视频标签:

html代码:

<video autoplay loop poster="images/bg.jpg" id="video_bg">
<source src="video.webm" type="video/webm">
<source src="video.mp4" type="video/mp4">
</video>
<iframe src="http://www.youtube.com/embed/xzvScRnF6MU?autoplay=1" width="960" height="447" frameborder="0" allowfullscreen></iframe>
选项2:使用YouTube嵌入的视频代码和自动播放设置:(同样,在桌面上工作,但在手机上不工作)

html代码:

<video autoplay loop poster="images/bg.jpg" id="video_bg">
<source src="video.webm" type="video/webm">
<source src="video.mp4" type="video/mp4">
</video>
<iframe src="http://www.youtube.com/embed/xzvScRnF6MU?autoplay=1" width="960" height="447" frameborder="0" allowfullscreen></iframe>

我的问题:


在移动设备上查看页面时,是否有javascript代码会强制在Chrome浏览器上自动播放?还有其他建议吗?谢谢大家!

不太可能。出于同样的原因,mobile Safari和Chrome会忽略
audio
video
标签的
autoplay
preload
属性,它们也不会遵守
play()
load()
相关实体的方法-或任何会导致网络上数据活动的方法-除非直接在用户交互回调处理程序中调用它们。原因是为了防止用户对蜂窝数据收取潜在的昂贵数据费用。更多信息请参阅

阅读-一篇精彩的文章,解释您的确切情况,并提供示例解决方案

我过去使用过的一种方法是将一个有效的“用户交互”事件(例如
onmousedown
onmouseup
onclick
、以及
ontouchstart
)放置在高级元素上,并在其回调中启动数据加载。作为示例,您可以在
正文
上放置
ontouchstart
事件,该事件将在用户在页面上执行任何操作时触发,以确保尽早开始加载数据

var body = document.getElementById('body');
var audio = document.getElementById('audio');

var loadData = function () {
    audio.load();
};

body.addEventListener('ontouchstart', loadData, false);

但是最好的解决方案实际上取决于您的用例。同时也要考虑使用WebAudio框架,比如,可以真正简化你的生活! 阿福。。截至今天2016年6月。。默认情况下,自动播放在Chrome上工作。。chk