物理鍵F11的更改應用。

獲取鍵盤F11的按鈕的應用。看到晚上有多中方式,測試多個之後,找到這個方式,能在進入全屏和退出全屏時都能檢測到F11物理鍵的操作。

下面是完整的代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/jquery.min.js"></script>
    <script>
      $(document).on('keydown', function (e) {
        var e = event || window.event || arguments.callee.caller.arguments[0];
        if(e && e.keyCode == 122){//捕捉F11鍵盤動作
          e.preventDefault();  //阻止F11默認動作
          var el = document.documentElement;
          var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen;//定義不同瀏覽器的全屏API
          //執行全屏
          if (typeof rfs != "undefined" && rfs) {
            rfs.call(el);
          } else if(typeof window.ActiveXObject != "undefined"){
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript!=null) {
              wscript.SendKeys("{F11}");
            }
          }
          //監聽不同瀏覽器的全屏事件,並件執行相應的代碼
          document.addEventListener("webkitfullscreenchange", function() {//
            if (document.webkitIsFullScreen) {
              //全屏後要執行的代碼
              // console.log("全屏文件 webkitIsFullScreen")
              $(window).resize(function(){
                setTimeout(function(){
                  window.location.reload();
                  console.log("全屏文件 webkitIsFullScreen")
                },1000)
              })
            }else{
              //退出全屏後執行的代碼
              console.log("退出來了  webkitIsFullScreen")
              setTimeout(function(){
                window.location.reload();
                console.log("退出來了  webkitIsFullScreen  qwqee")
              },1000)
            }
          }, false);

          document.addEventListener("fullscreenchange", function() {
            if (document.fullscreen) {
              //全屏後執行的代碼
              console.log("全屏文件 fullscreen")
            }else{
              //退出全屏後要執行的代碼
              console.log("退出來了   fullscreen")
            }
          }, false);

          document.addEventListener("mozfullscreenchange", function() {
            if (document.mozFullScreen) {
              //全屏後要執行的代碼
              console.log("全屏文件 mozFullScreen")
            }else{
              //退出全屏後要執行的代碼
              console.log("退出來了  mozFullScreen")
            }
          }, false);

          document.addEventListener("msfullscreenchange", function() {
            if (document.msFullscreenElement) {
              //全屏後要執行的代碼
              console.log("全屏文件")
            }else{
              //退出全屏後要執行的代碼
              console.log("退出來了")
            }
          }, false)
        }
      })
    </script>
</head>
<body>
    <div id="ck_buts">
      時間是
    </div>
</body>
</html>

這是另外一種方式檢測F11按鍵(只能檢測到第一次按下的結果,退出時檢測不到按鍵信息)這個方式可以獲取不同的按鍵,如果不知道按鍵的編碼請自己百度,

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <meta charset="UTF-8">
  <TITLE>js 按鍵記錄</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
  var keystring = "";//記錄按鍵的字符串
  function $(s) { return document.getElementById(s) ? document.getElementById(s) : s; }
  function keypress(e) {
    var currKey = 0, CapsLock = 0, e = e || event;
    currKey = e.keyCode || e.which || e.charCode;
    CapsLock = currKey >= 65 && currKey <= 90;
    switch (currKey) {
      //屏蔽了退格、製表、回車、空格、方向鍵、刪除鍵
      case 8: case 9: case 13: case 32: case 37: case 38: case 39: case 40: case 46: keyName = ""; break;
      default: keyName = String.fromCharCode(currKey); break;
    }
    keystring += keyName;
  }
  function keydown(e) {
    var e = e || event;
    var currKey = e.keyCode || e.which || e.charCode;
    if ((currKey > 7 && currKey < 14) || (currKey > 31 && currKey < 47) || (currKey > 121 && currKey < 123)) {
      switch (currKey) {
        case 8: keyName = "[退格]"; break;
        case 9: keyName = "[製表]"; break;
        case 13: keyName = "[回車]"; break;
        case 32: keyName = "[空格]"; break;
        case 33: keyName = "[PageUp]"; break;
        case 34: keyName = "[PageDown]"; break;
        case 35: keyName = "[End]"; break;
        case 36: keyName = "[Home]"; break;
        case 37: keyName = "[方向鍵左]"; break;
        case 38: keyName = "[方向鍵上]"; break;
        case 39: keyName = "[方向鍵右]"; break;
        case 40: keyName = "[方向鍵下]"; break;
        case 46: keyName = "[刪除]"; break;
        case 122: keyName = "[F11]"; break;
        default: keyName = ""; break;
      }
      keystring += keyName;
    }
    $("content").innerHTML = keystring;
  }
  function keyup(e) {
    $("content").innerHTML = keystring;
  }
  document.onkeypress = keypress;
  document.onkeydown = keydown;
  document.onkeyup = keyup;
</script>
<input type="text" />
<input type="button" value="清空記錄" οnclick="$('content').innerHTML = '';keystring = '';" />
<br />請按下任意鍵查看鍵盤響應鍵值:<span id="content"></span>
</BODY>
</HTML>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章