一个支持chrome、firefox的全屏插件

  插件代码

?
( 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 support
     if  ( typeof  document.cancelFullScreen != 'undefined' ) {
         fullScreenApi.supportsFullScreen = true ;
     } else  {
         // check for fullscreen support by vendor prefix
         for  ( 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 useful
     if  (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 plugin
     if  ( typeof  jQuery != 'undefined' ) {
         jQuery.fn.requestFullScreen = function () {
             return  this .each( function () {
                 if  (fullScreenApi.supportsFullScreen) {
                     fullScreenApi.requestFullScreen( this );
                 }
             });
         };
     }
     window.fullScreenApi = fullScreenApi;
})();

  调用代码

?
$( function (){
     $( '#fullscreenbtn' ).click( function (){
         if (window.fullScreenApi.supportsFullScreen){
             window.fullScreenApi.requestFullScreen(document.getElementById( 'fullscreenbox' ));
         } else {
             alert( '就你这浏览器,基本就告别全屏功能了' );
         }
     });
});

  HTML代码结构

?
< a  id = "fullscreenbtn" >
     < img  id = "fullscreenbox"  style = "display: block; margin-left: auto; margin-right: auto;"  src = "http://pic002.cnblogs.com/images/2012/277258/2012041400022949.gif"  alt = ""  />
</ a >

  基于fullscreen功能,我们就可以做出很多效果,比如相册:

  http://eikes.github.com/jquery.fullscreen.js/

  又比如视频中的全屏功能:

  http://mediaelementjs.com/

  当然也不能不说我的HoorayOS中窗口全屏的使用:

  http://www.hoorayos.com/


转载自:http://www.cnblogs.com/hooray/archive/2012/04/14/2446593.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值