js实现页面全屏和退出全屏(模拟F11效果),禁止F11全屏,监听页面是否全屏

1.js实现全屏和退出全屏(模拟F11效果)
此方法实测支持ie11,chrome,firefox,qq浏览器,360,搜狗,edge

var element = document.documentElement;

//全屏,注意api中单词的大小写
if (element.requestFullscreen) {
 element.requestFullscreen()
} else if (element.msRequestFullscreen) { // 兼容ie11,11以下不支持
  element.msRequestFullscreen()
} else if (element.mozRequestFullScreen) { // 兼容火狐
  element.mozRequestFullScreen()
} else if (element.webkitRequestFullscreen) { // 兼容webkit内核浏览器,如chrome和safari
  element.webkitRequestFullscreen()
} else {
  // 如果是ie10的话提示用户用f11进行全屏
  if(document.documentMode === 10){
    alert('IE10无效,请使用F11进行全屏!')
  }
}

//退出全屏
if (document.exitFullscreen) {
  document.exitFullscreen();
}
else if (document.mozCancelFullScreen) {
  document.mozCancelFullScreen();
}
else if (document.webkitCancelFullScreen) {
  document.webkitCancelFullScreen();
}
else if (document.msExitFullscreen) {
  document.msExitFullscreen();
}

2.禁止F11全屏
部分浏览器无效

window.onkeydown = function (event) {
    if (event.keyCode === 122) {
      event.preventDefault()
      event.returnValue = false
    }
  }

3.监听页面是否全屏

window.onresize = function (){
  var isFull = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
  if(isFull){
    console.log('全屏')
  } else{
  	console.log('没有全屏')
  }
}

你可能感兴趣的:(web前端,javascript,前端,chrome,ie,firefox)