2014-03-03 66 views
0

在我的网页我有进入全屏模式,通过以下方式视频:如何检测Internet Explorer视频是否退出全屏模式?

$('.fullscreen-btn').click(function() { 
      if (movie[0].requestFullscreen) {     
       movie[0].requestFullscreen(); 
      } else if (movie[0].mozRequestFullScreen) {     
       movie[0].mozRequestFullScreen();    
      } else if (movie[0].webkitRequestFullscreen) {     
       movie[0].webkitRequestFullscreen(); 
      } else if(movie[0].webkitEnterFullscreen){ //ipad fix 
       movie[0].webkitEnterFullscreen(); 
      } else if (movie[0].msRequestFullscreen){ //IE fix 
       movie[0].msRequestFullscreen(); 
      } 
      //followed by some code for smallscreen button, positioning customized play and pause button etc. 
}); 

当我离开全屏模式,我有以下的代码来检测它:

$('.smallscreen-btn').click(function() { 
       if (document.exitFullscreen) { 
        document.exitFullscreen(); 
       } 
       else if (document.mozCancelFullScreen) { 
        document.mozCancelFullScreen();     
       } 
       else if (document.webkitCancelFullScreen) { 
        document.webkitCancelFullScreen(); 
       } 
       if(movie[0].webkitExitFullscreen){ //ipad specific 
       ... 
       } 
}); 

但我不知道什么条件适用于IE浏览器: 我试过if(document.msExitFullScreen){...},if(movie[0].msExitFullScreen){...}

所以我知道如何检测进入全屏模式但不取消它。任何人都知道什么可以工作

+1

也许MSFullscreenChange,因为它从文档说? http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx – Alex

+0

噢!谢谢! MSExitFullScreen无法正常工作,但MS全屏更改事件:http://msdn.microsoft.com/en-us/library/ie/dn312066%28v=vs.85%29.aspx做的工作:) – user2718671

+0

有时谷歌帮助;) – Alex

回答

0

这个JavaScript(香草)解决方案应该得到广泛的支持。这是一个小的API,可以让您检测客户端何时进入全屏模式以及何时退出。它是事件驱动因此使用起来非常简单,并且可以在所有DOM2 customEvent支持的浏览器上运行。 不支持outerHeight : innerHeight属性的浏览器(足够老)将失败。

onresize = function() { 
     var state = 1 >= outerHeight - innerHeight ? "fullscreen" : "windowed"; 
      if(window.state == state) return; 
     window.state = state; 
     var event = document.createEvent("Event"); 
      event.initEvent(state, true, true); 
      window.dispatchEvent(event); 
    }; 

    addEventListener('windowed', function(e){ alert(e.type) }, false); 
    addEventListener('fullscreen', function(e){ alert(e.type) }, false); 

*!从未在智能手机上进行测试,请检查并提供相关反馈。

相关问题