退出全屏直接使用document调用exitFullscreen方法即可。
document.fullscreenElement():获取当前全屏的元素。
注意:
1.document下没有requestFullscreen
2.requestFullscreen方法只能由用户触发,比如:在onload事件中不能触发
3.页面跳转需先退出全屏
4.进入全屏的元素,将脱离其父元素,所以可能导致某些css失效
解决方案:使用 :full-screen伪类 为元素添加全屏时的样式(使用时为了兼容注意添加-webkit、-moz或-ms前缀)
5.一个元素全屏后,其子元素要再全屏,需先让该元素退出全屏
screenfull.js监控全屏状态,但是试了一下,isFullscreen的状态在全屏之后是true,ESC退出全屏之后状态没有改变,于是上网搜了一下,大多是让window.onresize 监听全屏状态:
实际上screenfull有个onchange事件,在这里维护全屏状态就行了:
特此记录
JavaScript 控制浏览器全屏HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时候用来做全屏API,游戏呀,等都很有用。先看常见的API
element.requestFullScreen() 作用:请求某个元素element全屏
Document.getElementById(“myCanvas”).requestFullScreen()
这里是将其中的元素ID去请求fullscreen
退出全屏
document.cancelFullScreen()
document.fullscreen ,如果用户在全屏模式下,则返回true
document.fullscreenElement,返回当前处于全屏模式下的元素
注意:
1.在HTML5中,W3C制定了关于全屏的API但是只能由用户事件触发,所以不能自动全屏;用户事件触发方可。
2.新版本,浏览器都支持了全屏api,不需要带前缀,为兼容性可以带着。