获取键盘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="清空记录" onclick="$('content').innerHTML = '';keystring = '';" />
<br />请按下任意键查看键盘响应键值:<span id="content"></span>
</BODY>
</HTML>

202

被折叠的 条评论
为什么被折叠?



