【问题标题】:Stop HTML Video Autoplay on Mobile Devices在移动设备上停止 HTML 视频自动播放
【发布时间】:2018-11-16 16:55:28
【问题描述】:

在我的网站的桌面版本中,视频会在后台自动播放。我希望视频不在移动设备上自动播放(即如果屏幕宽度

<video id="background-video" autoplay loop muted>
        <source type="video/mp4" src="http://fiercefreedom.org/wp-content/uploads/2018/10/FierceCropped.mp4">
    </video>

$(document).ready(function(){
  var screenWidth = $(window).width();
  if (screenWidth < 800){
		$('#background-video').removeAttr('autoplay');
  } else {
  	$('background-video').attr('autoplay');
  }
});

【问题讨论】:

  • 仅供参考 $('background-video').attr('autoplay'); 缺少 # 字符。
  • 感谢您指出这一点。

标签: javascript html video mobile autoplay


【解决方案1】:

$(document).ready 仅在页面加载后开始,因此浏览器已经开始自动播放。

相反,您应该从静态 HTML 中删除 autoplay 属性,然后仅在宽度大于 800 时添加它。


<video id="background-video" loop muted>
    <source type="video/mp4" src="http://fiercefreedom.org/wp-content/uploads/2018/10/FierceCropped.mp4">
</video>

$(function() {
  var screenWidth = $(window).width();
  if (screenWidth >= 800) {
    $('#background-video').attr('autoplay', 'autoplay');
  }
});

【讨论】:

  • 这确实会停止移动浏览器上的自动播放,但使用此解决方案,视频也不会在桌面浏览器(即更大的窗口)上自动播放。这是我所拥有的(我切换了 screenWidth 要求以查看它是否会在小于 800 的屏幕上自动播放):jsfiddle.net/v6d41t35
  • @NolanBauer 在你的小提琴screenWidth &lt; 800 中查看这一行...我在上面使用过screenWidth &gt;= 800
  • 进行了修订:jsfiddle.net/v6d41t35/1。我仍然没有看到视频自动播放。有什么想法吗?
  • 将 jQuery 库添加到 JSFiddle,你错过了。
  • 在运行时还要确保 JSFiddle 本身的 HTML 窗口为 800 宽。它不会检查您的显示器宽度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-11
  • 2015-11-07
相关资源
最近更新 更多