在 Web 应用中实现全屏效果

来源:互联网 发布:精英情结知乎 编辑:程序博客网 时间:2024/05/17 23:57
随着HTML5技术和浏览器的发展,Web应用程序也能像本地应用一样实现全屏,而且现在大部分浏览器都支持全屏。Fullscreen JavaScript API让这一切变得简单,本文来探讨一下如何让Web应用程序实现全屏效果。

启动全屏模式

可以通过Fullscreen API中的requestFullScreen方法来实现。由于该方法还未标准化,因此还需要加上特定浏览器前缀。

Javascript代码 复制代码
  1. // 找到正确的方法
  2. function launchFullScreen(element) {
  3. if(element.requestFullScreen) {
  4. element.requestFullScreen();
  5. } else if(element.mozRequestFullScreen) {
  6. element.mozRequestFullScreen();
  7. } else if(element.webkitRequestFullScreen) {
  8. element.webkitRequestFullScreen();
  9. }
  10. }
  11. // 启动全屏模式
  12. launchFullScreen(document.documentElement); // 整个页面
  13. launchFullScreen(document.getElementById("videoElement"));// 单独元素

取消全屏模式

可以使用cancelFullScreen方法(也需要加上前缀)从全屏模式恢复到标准模式。

Javascript代码 复制代码
  1. function cancelFullscreen() {
  2. if(document.cancelFullScreen) {
  3. document.cancelFullScreen();
  4. } else if(document.mozCancelFullScreen) {
  5. document.mozCancelFullScreen();
  6. } else if(document.webkitCancelFullScreen) {
  7. document.webkitCancelFullScreen();
  8. }
  9. }
  10. // 取消全屏
  11. cancelFullscreen();

需要注意的是,cancelFullScreen只被文档对象调用,无需单个元素调用。

全屏属性和事件

  • document.fullScreenElement:当前全屏显示的元素。
  • document.fullScreenEnabled:判断浏览器是否支持全屏。
  • fullscreenchange事件:全屏状态改变事件。
fullscreenchange事件要绑定在document上,该事件仅在全屏状态改变时触发,默认没有任何动作。

Javascript代码 复制代码
  1. var fullscreenElement = document.fullScreenElement || document.mozFullScreenElement || document.webkitFullScreenElement;
  2. var fullscreenEnabled = document.fullScreenEnabled || document.mozScreenEnabled || document.webkitScreenEnabled;

全屏CSS

全屏效果的CSS代码:

Css代码 复制代码
  1. /* html */
  2. :-webkit-full-screen {
  3. background: pink;
  4. }
  5. :-moz-full-screen {
  6. background: pink;
  7. }
  8. /* deeper elements */
  9. :-webkit-full-screen video {
  10. width: 100%;
  11. height: 100%;
  12. }

简单演示:http://davidwalsh.name/demo/fullscreen.php

你也可以查看Mozilla的BananaBread演示,这是一个第一人称射击游戏,fullscreen API在该游戏中得到了完美的应用。
原创粉丝点击