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(开发分支)
在Google的closures库项目中,有一个模块是有工作的,下面是API和源代码。
closures库fullscreen.js API
closures库lib fullscreen.js代码