功能描述:打開一個網站的網頁,過5分鐘不動作,就會鎖定頁面,隱藏內容容器,顯示一個容器用于輸入密碼,輸入正確的密碼來解鎖。鎖定后即使用戶刷新頁面,還是保留原來的狀態。如已經鎖定的,需要繼續鎖定,否則顯示內容。
示例代碼如下,通過document.onmouseover來實現多少分鐘沒有動作,使用計時器來實現。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<!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 > |