fullscreen API 接口
  Y7bRdvZFQlwk 2023年11月05日 57 0

属性1:fullscreenElement 该属性返回当前处于全屏模式的DOM元素。

属性2:fullscreenEnabled 该属性返回当前 document 是否进入了可以请求全屏模式的状态。

方法1:requestFullscreen() 请求进入全屏模式。

方法2:exitFullscreen() 退出全屏模式。

事件1fullscreenchange 进入/退出全屏模式切换时会触发。

事件2:fullscreenerror 进入/退出全屏模式失败时会触发。

由于fullscreen API 存在浏览器兼容性问题,所以我们在使用的时候需要进行跨浏览器处理,参考代码:

跨浏览器返回正处于全屏的元素

function fullscreenElement(){
	var fullscreenEle = document.fullscreenElement ||document.mozFullScreenElement ||document.webkitFullscreenElement;
  //注意:要在用户授权全屏后才能获取全屏的元素,否则 fullscreenEle为null
  console.log("全屏元素:"+fullscreenEle);
  return fullscreenEle;
}

跨浏览器返回当前 document 是否进入了可以请求全屏模式的状态

function fullscreenEnable(){
	var isFullscreen = document.fullscreenEnabled ||window.fullScreen ||document.webkitIsFullScreen ||document.msFullscreenEnabled;
	//注意:要在用户授权全屏后才能准确获取当前的状态
  if(isFullscreen){
  	console.log('全屏模式');
  }else{
  	console.log('非全屏模式');
  }
}

跨浏览器发动全屏

function lanchFullscreen(element){
	if(element.requestFullscreen){
		element.requestFullscreen();
	}else if(element.mozRequestFullScreen){
		element.mozRequestFullScreen();
	}else if(element.msRequestFullscreen){
    element.msRequestFullscreen();
  }else if(element.webkitRequestFullscreen){
		element.webkitRequestFullScreen();
	}
}

跨浏览器退出全屏

function exitFullscreen(){
  if(document.exitFullscreen){
  	document.exitFullscreen();
  }else if(document.mozCancelFullScreen){
  	document.mozCancelFullScreen();
  }else if(document.msExitFullscreen){
  	document.msExiFullscreen();
  }else if(document.webkitCancelFullScreen){
  	document.webkitCancelFullScreen();
  }
}

各浏览器fullscreenchange 事件处理

document.addEventListener('fullscreenchange', function(){ /*code*/ });
document.addEventListener('webkitfullscreenchange', function(){ /*code*/});
document.addEventListener('mozfullscreenchange', function(){ /*code*/});
document.addEventListener('MSFullscreenChange', function(){ /*code*/});


各浏览器fullscreenerror 事件处理

document.addEventListener('fullscreenerror', function(){ /*code*/ });
document.addEventListener('webkitfullscreenerror', function(){ /*code*/});
document.addEventListener('mozfullscreenerror', function(){ /*code*/);
document.addEventListener('MSFullscreenError', function(){ /*code*/ });


跨浏览器全屏模式下样式代码

:-webkit-full-screen { }
:-moz-full-screen { }
:-ms-fullscreen { }
:fullscreen { }
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
Y7bRdvZFQlwk