javascript实现锁定网页、密码解锁效果(类似系统屏幕保护效果)
作者:junjie 发布时间:2023-08-18 20:01:36
标签:javascript,锁定网页,密码解锁,屏幕保护效果
功能描述:打开一个网站的网页,过5分钟不动作,就会锁定页面,隐藏内容容器,显示一个容器用于输入密码,输入正确的密码来解锁。锁定后即使用户刷新页面,还是保留原来的状态。如已经锁定的,需要继续锁定,否则显示内容。
示例代码如下,通过document.onmouseover来实现多少分钟没有动作,使用计时器来实现。
<!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>


猜你喜欢
- 导读本篇博客我们将全面了解 Flask 中关于请求的相关设置,开始前你需要先配置 Flask 的基础框架。from flask import
- 如下所示:只对当前文件有效的操作:菜单栏->View -> Active Editor -> Use Soft Wraps
- 什么是Canvas<canvas> 是一个新的 HTML 元素,这个元素在 HTML5&
- 矩阵创建1、from numpyimport *;a1=array([1,2,3])a2=mat(a1)矩阵与方块列表的区别如下:2、dat
- Appium在前文的讲解中,我们学会了如何安装Appium,以及一些基础获取App元素内容的方式。但认真看过前文的读者,肯定在博主获取元素的
- 1.链式法则根据以前的知识,如果我们需要寻找到目标参数的值的话,我们需要先给定一个初值,然后通过梯度下降,不断对其更新,直到最终的损失值最小
- 看了cragle的《有没有必要将网站Div+Css重构?》的文章,有一些想法不说不快,我也在文章的评论里提到曾经开除过两个执着使用div技术
- 1.基于rbac的权限管理RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联
- Javascript 中的闭包其实很改语言中很难理解的一部分。感谢 Stuart 提供了那么棒的 PPT,它深入浅出的解释了 Javascr
- 本文实例讲述了python检测远程服务器tcp端口的方法。分享给大家供大家参考。具体如下:python检测远程服务器tcp端口的代码,这段代
- 1. 在router/index.js中使用meta属性的title设置好每个路由对应的title值/* router/index.js:
- 你的主页或者你管理的网站有各种密码需要保护,把密码直接放在数据库或者文件中存在不少安全隐患,所以密码加密后存储是最常见的做法。在ASP.NE
- 作者:FLASHSKYSITE:WWW.XFOCUS.NET邮件:flashsky@xfocus.orgSQL SERVER 2000通讯中
- 简介深度学习需要熟悉使用一个框架,本人选择了TensorFlow,一边学习一边做项目,下面简要介绍TensorFlow中的基本常量、变量和运
- 再看继承真正的大餐来之前,还是来点儿开胃菜!回顾一下关于类的继承的知识:我们先看上面的代码,这是一个简单的类继承,我们可以看到父类Base和
- 算法简介鸡群算法,缩写为CSO(Chicken Swarm Optimization),尽管具备所谓仿生学的背景,但实质上是粒子群算法的一个
- 我们每天接触到各类应用,如社交、在线文档、直播等,后端都需要使用WebSocket技术提供实时通信能力。本文介绍如何使用Golang实现实时
- 首先,创建一个存储过程 get_clob: t_name:要查询的表名;f_name:要查询的字段名;u_id:表的主键,查询条件;l_po
- 1、变量的定义定义变量语法格式:variable_name = variable_namevariable_name表示变量名;variab
- 强大的group by 代码如下:select stdname, isnull(sum( case stdsubject whe