HTML5视频-自动进入全屏

时间:2019-04-01 12:40:10

标签: javascript google-chrome html5-video html5-fullscreen

发现了类似的问题here:

我的小女孩将在运行Chrome的Linux Mint PC上观看动画片。我有一个BASH预编译器,它使用已嵌入到标记中的videosource标签来创建所有页面。在视频结束时,会弹出一个5秒的计时器(带有javascript),倒计时,然后重定向到随机的其他页面,一旦元数据加载(所有事件监听器都已加载),该页面就会自动播放视频

我需要一种自动全屏显示视频的方法。我知道有很多方法可以做到这一点,并且浏览器明确禁止此全屏事件,因为它不是用户触发的。

我有以下代码:

video=document.getElementsByTagName('video')[0]
video.addEventListener('loadedmetadata',function(e){
  if (this.requestFullscreen)
    this.requestFullscreen();
  else if (this.msRequestFullscreen)
    this.msRequestFullscreen();
  else if (this.mozRequestFullScreen) // Note the capital "S" in Screen
    this.mozRequestFullScreen();
  else if (this.webkitRequestFullscreen)
    this.webkitRequestFullscreen();
  video.play();
  video.focus();
}, false)

... insert working-as-intended 'ended' eventListener ...

此功能(几乎)按预期工作。我单击第一个链接,视频将加载,进入全屏显示,开始播放并聚焦视频(如果用户按下空格键或使用箭头键等)

但是,视频结束,计时器倒计时,页面重定向到队列中的下一个,但是这次,视频未全屏显示。我几乎可以肯定的是,这是浏览器不允许“不安全”或“不安全” ...或者可能只是“烦人”的脚本,但是在这种情况下,我想要一种允许该功能的方法。该视频应对此事件进行全屏显示,而不管大家普遍接受的“不做那个”评论。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以在代码上增加的内容是检查全屏是否已激活:

function IsFullScreenCurrently() {
var full_screen_element = document.fullscreenElement || document.webkitFullscreenElement || document.mozFullScreenElement || document.msFullscreenElement || null;

// If no element is in full-screen
if(full_screen_element === null)
    return false;
else
    return true; }

您还可以使用document.fullscreenEnabledhere)来检查是否可以在使用的浏览器上全屏显示。