最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript全屏和退出全屏事件总结(附代码)

来源:动视网 责编:小采 时间:2020-11-27 22:32:30
文档

JavaScript全屏和退出全屏事件总结(附代码)

JavaScript全屏和退出全屏事件总结(附代码):代码如下: window.isflsgrn = false;//ie11以下是否进入全屏标志,true为全屏状态,false为非全屏状态 window.ieIsfSceen = false;//ie11是否进入全屏标志,true为全屏状态,false为非全屏状态 //跨浏览器返回当前 document 是否进入了可
推荐度:
导读JavaScript全屏和退出全屏事件总结(附代码):代码如下: window.isflsgrn = false;//ie11以下是否进入全屏标志,true为全屏状态,false为非全屏状态 window.ieIsfSceen = false;//ie11是否进入全屏标志,true为全屏状态,false为非全屏状态 //跨浏览器返回当前 document 是否进入了可


代码如下:

window.isflsgrn = false;//ie11以下是否进入全屏标志,true为全屏状态,false为非全屏状态
 window.ieIsfSceen = false;//ie11是否进入全屏标志,true为全屏状态,false为非全屏状态
 //跨浏览器返回当前 document 是否进入了可以请求全屏模式的状态
 function fullscreenEnable(){
 var isFullscreen = document.fullscreenEnabled ||
 window.fullScreen ||
 document.mozFullscreenEnabled ||
 document.webkitIsFullScreen;
 return isFullscreen;
 }
 //全屏
 var fScreen = function(){
 var docElm = document.documentElement;
 if (docElm.requestFullscreen) {
 docElm.requestFullscreen();
 }
 else if (docElm.msRequestFullscreen) {
 docElm.msRequestFullscreen();
 ieIsfSceen = true;
 }
 else if (docElm.mozRequestFullScreen) {
 docElm.mozRequestFullScreen();
 }
 else if (docElm.webkitRequestFullScreen) {
 docElm.webkitRequestFullScreen();
 }else {//对不支持全屏API浏览器的处理,隐藏不需要显示的元素
 window.parent.hideTopBottom();
 isflsgrn = true;
 $("#fsbutton").text("退出全屏");
 }
 }
 //退出全屏
 var cfScreen = function(){
 if (document.exitFullscreen) {
 document.exitFullscreen();
 }
 else if (document.msExitFullscreen) {
 document.msExitFullscreen();
 }
 else if (document.mozCancelFullScreen) {
 document.mozCancelFullScreen();
 }
 else if (document.webkitCancelFullScreen) {
 document.webkitCancelFullScreen();
 }else {
 window.parent.showTopBottom();
 isflsgrn = false;
 $("#fsbutton").text("全屏");
 }
 }
 //全屏按钮点击事件
 $("#fsbutton").click(function(){
 var isfScreen = fullscreenEnable();
 if(!isfScreen && isflsgrn == false){
 if (ieIsfSceen == true) {
 document.msExitFullscreen();
 ieIsfSceen = false;
 return;
 }
 fScreen();
 }else{
 cfScreen();
 }
 })
 //键盘操作
 $(document).keydown(function (event) {
 if(event.keyCode == 27 && ieIsfSceen == true){
 ieIsfSceen = false;
 }
 });
 //监听状态变化
 if (window.addEventListener) {
 document.addEventListener('fullscreenchange', function(){ 
 if($("#fsbutton").text() == "全屏"){
 $("#fsbutton").text("退出全屏"); 
 }else{
 $("#fsbutton").text("全屏");
 }
 });
 document.addEventListener('webkitfullscreenchange', function(){ 
 if($("#fsbutton").text() == "全屏"){
 $("#fsbutton").text("退出全屏"); 
 }else{
 $("#fsbutton").text("全屏");
 }
 });
 document.addEventListener('mozfullscreenchange', function(){ 
 if($("#fsbutton").text() == "全屏"){
 $("#fsbutton").text("退出全屏"); 
 }else{
 $("#fsbutton").text("全屏");
 }
 });
 document.addEventListener('MSFullscreenChange', function(){ 
 if($("#fsbutton").text() == "全屏"){
 $("#fsbutton").text("退出全屏"); 
 }else{
 $("#fsbutton").text("全屏");
 }
 });
 }

值得注意的是 fullscreenEnabled 参数,网上的说法不一,有的说是监控浏览器是否进入了可以请求全屏模式的状态,有的说只是一个判断浏览器是否支持全屏的标志,实际使用时也确实出现了问题,IE11不能识别这个属性,需要自己单独设置一个标记来控制IE11当前是否为全屏状态。

文档

JavaScript全屏和退出全屏事件总结(附代码)

JavaScript全屏和退出全屏事件总结(附代码):代码如下: window.isflsgrn = false;//ie11以下是否进入全屏标志,true为全屏状态,false为非全屏状态 window.ieIsfSceen = false;//ie11是否进入全屏标志,true为全屏状态,false为非全屏状态 //跨浏览器返回当前 document 是否进入了可
推荐度:
标签: 全屏 js 代码
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top