js全屏的实现

废话不多说直接上代码吧!
HTML部分:





全屏





html部分主要是申明全屏的DOM对象——html标签。
JS部分:

//获取需要的标签,并添加事件
var oBtnFullOpen = document.getElementById('BtnFullOpen');
var oContent = document.getElementById('Content');
oBtnFullOpen.onclick = function() {
fullScreen(oContent);
oBtnFullQuite.setAttribute("style", "display:block");
oBtnFullOpen.setAttribute("style", "display:none");
}
var oBtnFullQuite = document.getElementById('BtnFullQuite');
oBtnFullQuite.onclick = function() {
exitFullScreen(oContent);
oBtnFullQuite.setAttribute("style", "display:none");
oBtnFullOpen.setAttribute("style", "display:block");
};

//全屏及退出全屏方法
function fullScreen(el) {
var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen,
wscript;

if(typeof rfs != "undefined" && rfs) {
    rfs.call(el);
    return;
}

if(typeof window.ActiveXObject != "undefined") {
    wscript = new ActiveXObject("WScript.Shell");
    if(wscript) {
        wscript.SendKeys("{F11}");
    }
}

}

function exitFullScreen(el) {
var el= document,
cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen,
wscript;

  if (typeof cfs != "undefined" && cfs) {
    cfs.call(el);
    return;
  }

  if (typeof window.ActiveXObject != "undefined") {
      wscript = new ActiveXObject("WScript.Shell");
      if (wscript != null) {
          wscript.SendKeys("{F11}");
      }
}

}
代码没什么难度,这里主要用到的就是js的 Element.requestFullscreen()方法,异步请求使得Element(该元素)全屏显示。

不过Element.requestFullscreen()不能保证该元素被设置为全屏模式,如果允许该元素进入全屏模式,document将接受到fullscreenchange event事件;如果不允许,则document将接受fullscreenerror event事件。

所以在调用Element.requestFullScreen()前,可建立 fullscreenchange和fullscreenerror 的事件处理,将方便调试是否成功请求全屏模式。

最后就是要注意浏览器的兼容性问题:

cfs = el.cancelFullScreen || el.webkitCancelFullScreen || el.mozCancelFullScreen || el.exitFullScreen,
wscript;

你可能感兴趣的:(js全屏的实现)