发现了类似的问题here:
我的小女孩将在运行Chrome的Linux Mint PC上观看动画片。我有一个BASH预编译器,它使用已嵌入到标记中的video
和source
标签来创建所有页面。在视频结束时,会弹出一个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 ...
此功能(几乎)按预期工作。我单击第一个链接,视频将加载,进入全屏显示,开始播放并聚焦视频(如果用户按下空格键或使用箭头键等)
但是,视频结束,计时器倒计时,页面重定向到队列中的下一个,但是这次,视频未全屏显示。我几乎可以肯定的是,这是浏览器不允许“不安全”或“不安全” ...或者可能只是“烦人”的脚本,但是在这种情况下,我想要一种允许该功能的方法。该视频应对此事件进行全屏显示,而不管大家普遍接受的“不做那个”评论。
有什么建议吗?
答案 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.fullscreenEnabled
(here)来检查是否可以在使用的浏览器上全屏显示。