@sammffl
2016-03-10T07:46:50.000000Z
字数 2935
阅读 668
小技巧
(function () {var fullScreenApi = {supportsFullScreen: false,isFullScreen: function () {return false;},requestFullScreen: function () {},cancelFullScreen: function () {},fullScreenEventName: '',prefix: ''},browserPrefixes = 'webkit moz o ms khtml'.split(' ');// check for native supportif (typeof document.cancelFullScreen != 'undefined') {fullScreenApi.supportsFullScreen = true;} else {// check for fullscreen support by vendor prefixfor (var i = 0, il = browserPrefixes.length; i < il; i++) {fullScreenApi.prefix = browserPrefixes[i];if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] != 'undefined') {fullScreenApi.supportsFullScreen = true;break;}}}// update methods to do something usefulif (fullScreenApi.supportsFullScreen) {fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';fullScreenApi.isFullScreen = function () {switch (this.prefix) {case '':return document.fullScreen;case 'webkit':return document.webkitIsFullScreen;default:return document[this.prefix + 'FullScreen'];}}fullScreenApi.requestFullScreen = function (el) {return (this.prefix === '') ? el.requestFullScreen() : el[this.prefix + 'RequestFullScreen']();}fullScreenApi.cancelFullScreen = function (el) {return (this.prefix === '') ? document.cancelFullScreen() : document[this.prefix + 'CancelFullScreen']();}}// jQuery pluginif (typeof jQuery != 'undefined') {jQuery.fn.requestFullScreen = function () {return this.each(function () {if (fullScreenApi.supportsFullScreen) {fullScreenApi.requestFullScreen(this);//setTimeout(function () {// deferredOpen.resolve();//}, 100);}});};jQuery.fn.cancelFullScreen = function () {return this.each(function () {if (fullScreenApi.supportsFullScreen) {fullScreenApi.cancelFullScreen(this);/*setTimeout(function () {deferredClose.resolve();}, 100);*/}});};}// export apiwindow.fullScreenApi = fullScreenApi;})();
body {background: #fff;}#fullScreenBtn {float: right;cursor: pointer;font-family: Segoe UI, Verdana, sans-serif;text-shadow: -3px 0 4px #fff;color: #2fa4e7;font-weight: bold;}#fullScreenBtn:hover {text-decoration: underline;color: #2f89ca;}/*button{*//*border:1px solid #ccc;*//*cursor:pointer;*//*display:block;*//*margin:auto;*//*position:relative;*//*top:100px;*//*}*/.fullScreen {/*padding-top:10%;*/text-align: center;background: none repeat scroll 0 0 #FFFFFF;}/*Mozilla proposal (dash)*/.fullScreen:full-screen {width: 100%;height: 100%;}/* W3C proposal (no dash) */.fullScreen:fullscreen {width: 100%;height: 100%;}/* currently working vendor prefixes */.fullScreen:-webkit-full-screen, .fullScreen:-moz-full-screen {width: 100%;height: 100%;}:-webkit-full-screen {width: 100%;height: 100%;}
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title></title><link rel="stylesheet" href="demo.css"/></head><body><button>full screen</button><div id="fullScreen" class="fullScreen"><a href="#">back</a></div><script src="../bower_components/jquery/dist/jquery.js"></script><script src="demo.js"></script><script>$("button").click(function () {$("#fullScreen").requestFullScreen();});$("a").click(function () {$("#fullScreen").cancelFullScreen();});</script></body></html>