Chrome全屏API

根据这篇文章, Google Chrome 15有一个全屏JavaScript API。

我试图让它工作,但失败了。 我也曾徒劳地搜寻官方文件。

全屏JavaScript API是什么样的?

API只在用户交互过程中起作用,所以不能被恶意使用。 试试下面的代码:

addEventListener("click", function() { var el = document.documentElement, rfs = el.requestFullscreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen ; rfs.call(el); }); 

我为全屏API(称为screenfull.js)做了一个简单的包装,以消除前缀混乱并修复了不同实现中的一些不一致之处。 查看演示 ,了解Fullscreen API的工作原理。

推荐阅读:

  • 在Web浏览器中使用全屏API
  • MDN – 全屏API

以下是我在浏览器中使用全屏模式创build的一些function。

他们提供大部分主stream浏览器的进入/退出全屏。

 function isFullScreen() { return (document.fullScreenElement && document.fullScreenElement !== null) || document.mozFullScreen || document.webkitIsFullScreen; } function requestFullScreen(element) { if (element.requestFullscreen) element.requestFullscreen(); else if (element.msRequestFullscreen) element.msRequestFullscreen(); else if (element.mozRequestFullScreen) element.mozRequestFullScreen(); else if (element.webkitRequestFullscreen) element.webkitRequestFullscreen(); } function exitFullScreen() { if (document.exitFullscreen) document.exitFullscreen(); else if (document.msExitFullscreen) document.msExitFullscreen(); else if (document.mozCancelFullScreen) document.mozCancelFullScreen(); else if (document.webkitExitFullscreen) document.webkitExitFullscreen(); } function toggleFullScreen(element) { if (isFullScreen()) exitFullScreen(); else requestFullScreen(element || document.documentElement); } 

以下testing适用于Mac OSX Lion上的X86和Chrome 15上的Chrome 16(开发分支)

http://html5-demos.appspot.com/static/fullscreen.html

在Google的closures库项目中,有一个模块是有工作的,下面是API和源代码。

closures库fullscreen.js API

closures库lib fullscreen.js代码