js 实现在线考试切屏代码
切屏定义:切换选项卡,切到其他程序,最小化窗口,分屏。
要求:
1.记录切屏间隔时间(切出去再切回来的时间差)
2.记录切屏次数
实现这个切换页面功能需要用到一个web的APIvisiblitychange
visibilitychange - Web API 接口参考 | MDN (mozilla.org)
Document.visibilityState - Web API 接口参考 | MDN (mozilla.org)
document.addEventListener("visibilitychange", function() {console.log( document.visibilityState ); });
大致就是通过监听
visiblitychange
获取当前的状态,根据状态document.visibilityState
去操作
使用visible监控切换选项卡和最小化。但visible
对部分可见也会触发,所以对于分屏监控是无法监测到的,所以需要监控另一个状态是否foucus
,即是否是去当前页面的焦点。
代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>第一个标签</title>
</head>
<body>
<h1>这是第一个标签页</h1><script>let isCut = falselet lastTime;//切换选项卡,切到其他程序,最小化窗口监听document.addEventListener('visibilitychange', () => {let state = document.visibilityStateif (state == "hidden") {recordTime()document.title = "我知道,你切换标签页了--tab1"} else {showTimeDiff()document.title = "嘻嘻,你又回来了"}})//分屏监听window.onblur = () => {recordTime()document.title = "你居然还切屏???--tab1"}window.onfocus = () => {showTimeDiff()document.title = "好吧,你回来了--tab1"}//记录切屏出去的时间function recordTime() {isCut = truelastTime = Date.now()}//计算切屏出去与切屏回来的时间差function showTimeDiff() {if (isCut) {let timeDiff = (Date.now() - lastTime) / 1000;console.log(timeDiff);countTimes()isCut = false}}//计算切屏的次数function countTimes() {let store = window.sessionStorage.getItem('leave-times')if (store === null) {window.sessionStorage.setItem('leave-times', 0)return}store++;window.sessionStorage.setItem('leave-times', store);}
</script>
</body>
</html>
参考文章:HTML+JS 实现监控切屏_切屏监控是什么意思_普通网友的博客-CSDN博客
js 实现在线考试切屏代码相关推荐
- html excel 在线编辑,利用js实现在线编辑excel表格代码
特效描述:利用js实现 在线编辑 excel 表格代码.利用js实现在线编辑excel表格代码 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 function load(){ x ...
- php让浏览器全屏,js实现各浏览器全屏代码
本篇文章给大家分享了js实现各浏览器全屏的详细代码,有兴趣的朋友可以参考学习下. 现代浏览器包括ie11,可以直接用h5的全屏api实现 低版本的IE需要通过ActiveX插件实现: //直接上代码 ...
- welearn考试切屏会有显示吗_welearn视听说教程4答案截图
welearn视听说教程4答案截图 来源:未知 作者:admin 人气: 发布时间:2020-09-28 摘要:welearn视听说教程4答案截图 更多相关问题 [单选] 下列属于中华人民共和国公民的 ...
- 智慧树考试复制粘贴会检测吗_智慧树考试可以分屏吗?切屏会被发现吗
智慧树可以在线考试,有不少朋友想知道智慧树考试切屏有记录吗?智慧树考试分屏会被发现吗?下面小编就为大家带来相关介绍,感兴趣的朋友们快来一起了解下吧! -->>智慧树下载< 智慧树考试 ...
- PHP初中英语在线考试系统的设计与实现-计算机毕设 附源码 87564
PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...
- PHP初中英语在线考试系统的设计与实现-计算机毕设 附源码87564
PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...
- PHP初中英语在线考试系统的设计与实现 计算机毕设源码87564
摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架 ...
- (附源码)基于PHP初中英语在线考试系统的设计与实现-计算机毕设87564
PHP初中英语在线考试系统的设计与实现 摘 要 本文研究的初中英语在线考试系统主要功能模块包括:学生用户管理.考试信息.成绩分析.通知公告管理,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好 ...
- 【亲测可用】经验分享,开发在线考试平台(类似问卷星、考试星、阿里巴巴在线考试、易考通、考试云、移动网大、移动网校、中石化网络学院、宝武微学院、iTEST等)如何用程序代码防止学生作弊?
来源: 宝武微学院 http://mooc.baosteel.com 移动网大.移动网校 https://wangda.chinamobile.com 1.如何避免考生考试过程切屏去搜寻答案? 使用J ...
最新文章
- python好找工作吗2017-2017学什么编程语言好找工作?
- 云炬Android开发教程0 jdk下载与安装教程(小白)
- 利用gcc的__attribute__编译属性section子项构建初始化函数表【转】
- 2012-02-14 貌似情人节
- Web Service概念梳理
- 抓包(Charles工具入门)
- [原]win32 rundll32 应用列表
- 网友用筋膜枪提升手速抢茅台,平台回应不可靠,用了你也抢不到!
- 浏览器输入一个url会发生什么
- 遗传算法python与matlab_遗传算法简单介绍与MATLAB实现
- 项目经理不得不知道的里程碑计划及其重要用途
- 计算机中文输入法教案,智能ABC输入法教案
- 物联网模块选择注意事项
- NonlinearFactorGraph.h/NonlinearFactorGraph.cpp
- 安全工具-curl学习
- 交换机思科远程连接配置
- 解决:Conda报错InvalidArchiveError
- 内容制作新纪元:AIGC技术的革命性影响
- linux操作系统实验教程费翔林,实验一操作系统接口实验.doc
- HTML5七夕情人节表白网页制作【结婚倒计时】HTML+CSS+JavaScript html生日快乐祝福网页制作