JS制御ブラウザ全画面

3910 ワード

作業のため、ページに対してスクリーンを投げる操作を行う必要があります.この場合、より良い効果を達成するために、ブラウザはF 12のような効果をフルスクリーンで表示します.HTML 5はブラウザの全画面を操作するAPIを提供し、現在google chrome 15+,safri 5.1+,firfox 10+,IE 1はこの属性をよくサポートすることができる.低バージョンのIEはActiveXプラグインによって実現できる.google chrome 15 +, safri5.1+,firfox 10+,IE 1実装方式:フルスクリーンを開く:
function fullScreen() {

  var el = document.documentElement;

  var rfs = el.requestFullScreen || el.webkitRequestFullScreen || 

      el.mozRequestFullScreen || el.msRequestFullScreen;

  if(typeof rfs != "undefined" && rfs) {

    rfs.call(el);

  } else if(typeof window.ActiveXObject != "undefined") {

    //for IE,              F11,      

    var wscript = new ActiveXObject("WScript.Shell");

    if(wscript != null) {

        wscript.SendKeys("{F11}");

    }

  }
}

フルスクリーンを終了:
function exitFull() {
  //var exitMethod = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.webkitExitFullscreen; 
  if (exitMethod) {
    exitMethod.call(document);
  }
  else if (typeof window.ActiveXObject !== "undefined") {//for Internet Explorer
    var wscript = new ActiveXObject("WScript.Shell");
    if (wscript !== null) {
      wscript.SendKeys("{F11}");
    }
  }
}

注意事項:1、もし低バージョンのIE 11以下であれば、ActiveXObjectを通じて、初めてページをロードする時にAxtiveXコントロールをロードするかどうかのヒントが現れます.ここでは少し友好的ではありません.このようなヒントを避けるには、オプション/設定パネルでIEのactivexコントロールの構成を変更するしかありません.仕方ありませんが、これはなぜこんなに多くの人がIEを嫌っているのかの原因ですが、IEにはメリットがあります.以下でお話しします.2,chromeなどの高バージョンブラウザはHtml 5が提供するAPIを呼び出して全画面を実現し、全画面を終了することができるが、この動作は手動で出発しなければならない.例えば、クリックイベントを通じて:
$(document).onclick(function(){
    fullScreen();
})

これは実現可能であるが、手動でトリガしないでjsコードを介してフルスクリーンAPI提供を実現する必要がある場合、次のような方法は実現できない.
$(function(){
   fullScreen();
})
//  
$("document").trigger('click');

このように閲覧すると警告が表示され、「Failed to execute『requestFullScreen』on『Element』:API can only be initiated by a user gesture」という意味で、ジェスチャーでしか出発できないという意味になります.しかし、低バージョンのIEはwscript.を通過した.SendKeys("{F 11}")は実現可能である.だからIEは人に爱されて憎まれて、もちろん少し憎んでいます.