JavaScript 实现网页自动锁定与密码解锁功能
作者:纸飞机时间:2026-10-28 13:20:38浏览:165
本文介绍如何使用 JavaScript 实现类似系统屏幕保护的网页锁定功能。通过监听鼠标移动事件触发计时器,在用户无操作5分钟后自动隐藏内容并显示密码输入框。支持刷新页面保持锁定状态,确保网页内容的安全性。
网页自动锁定与密码解锁实现
该功能旨在提升网页安全性,模拟系统屏幕保护效果。当用户打开网站后,若持续5分钟无任何交互操作,系统将自动锁定页面:隐藏原有的内容容器,并展示用于输入密码的容器。只有输入正确的密码才能解锁并恢复显示。此外,该机制具备状态持久性,即使用户刷新页面,若之前已处于锁定状态,则继续保持锁定;若未锁定,则正常显示内容。实现原理主要依赖 事件来检测用户活动,并结合计时器功能来判断无操作时长。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>javascript实现系统屏幕保护效果(锁定网页)</title>
</head>
<body>
<div id="dvContent">内容<br />内容<br />内容<br />内容<br />内容<br />内容</div>
<div id="dvPassword" style="display:none">输入密码:<input type="password" id="txtPwd" /><input type="button" value="确定" onclick="check()"/></div>
<script>
if (document.cookie.indexOf('lock=1') != -1) ShowContent(false);
var delay = 10 * 1000,timer;//10s后锁定,修改delay为你需要的时间,单位毫秒
function startTimer() {
clearTimeout(timer);
timer = setTimeout(TimerHandler, delay);
}
function TimerHandler() {
document.cookie = 'lock=1';
document.onmousemove = null;//锁定后移除鼠标移动事件
ShowContent(false);
}
function ShowContent(show) {
document.getElementById('dvContent').style.display = show ? 'block' : 'none';
document.getElementById('dvPassword').style.display = show ? 'none' : 'block';
}
function check() {
if (document.getElementById('txtPwd').value == '123') {
document.cookie = 'lock=0';
ShowContent(true);
startTimer()//重新计时
document.onmousemove = startTimer; //重新绑定鼠标移动事件
}
else alert('密码不正确!!');
}
window.onload = function () {
document.onmousemove = startTimer;
startTimer();
}
</script>
</body>
</html>
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
