java实现锁屏功能吗_js实现简单锁屏功能实例

本文实例讲述了js实现简单锁屏功能的方法。分享给大家供大家参考。具体实现方法如下:

//********* 锁屏DIV ***************************

function LockScreen(tag,title,width,height,url)

{

if (tag) //锁屏

{

var lockdiv = document.getElementById("lockscreen");

if (lockdiv!=null)

{

lockdiv.style.display = "block";

var subdiv = document.getElementById("subdialog");

if (subdiv!=null)

{

subdiv.style.display = "block";

document.getElementById("dialog1").src = url;

}

}else{

//创建新的锁屏DIV,并执行锁屏

var tabframe= document.createElement("div");

tabframe.id = "lockscreen";

tabframe.name = "lockscreen";

tabframe.style.top = '0px';

tabframe.style.left = '0px';

tabframe.style.height = '100%';

tabframe.style.width = '100%';

tabframe.style.position = "absolute";

tabframe.style.filter = "Alpha(opacity=10)";

tabframe.style.backgroundColor="#000000";

tabframe.style.zIndex = "99998";

document.body.appendChild(tabframe);

tabframe.style.display = "block";

//子DIV

var subdiv = document.createElement("div");

subdiv.id = "subdialog";

subdiv.name = "subdialog";

subdiv.style.top = Math.round((tabframe.clientHeight-height)/2);

subdiv.style.left = Math.round((tabframe.clientWidth-width)/2);

subdiv.style.height = height+'px';

subdiv.style.width = width+'px';

subdiv.style.position = "absolute";

subdiv.style.backgroundColor="#000000";

subdiv.style.zIndex = "99999";

subdiv.style.filter = "Alpha(opacity=100)";

subdiv.style.border = "1px";

//subdiv.onmousemove = mouseMoveDialog;

//subdiv.onmousedown = control_onmousedown;

//subdiv.onmouseup = mouseUp;

document.body.appendChild(subdiv);

subdiv.style.display = "block";

//subdiv.οnclick=UNLockScreen;

var iframe_height = height-30;

var titlewidth = width;

var html = "

html += "

";

html += "

"+title+"close.gif
";

html += "

";

html += "

";

html += "

";

html += "

";

subdiv.innerHTML = html;

}

}else{

//解屏

var lockdiv = document.getElementById("lockscreen");

if (lockdiv!=null)

{

lockdiv.style.display = "none";

}

var subdiv = document.getElementById("subdialog");

if (subdiv!=null)

{

subdiv.style.display = "none";

}

}

}

function UNLockScreen(){

LockScreen(false);

}

如果大家不知道什么是锁屏,可以去163信箱看一看,用途是你要离开屏幕一段时间时可以暂时锁住屏幕保留工作空间。带回来只要重新输入密码验证即可恢复到原先的工作空间。

一般都是通过在页面上增加不透明遮罩层实现锁屏功能,或者是使用两个区域互相显示隐藏。使用框架(frame)构建的网站如果要实现锁屏功能则很有难度。因为在框架页面无法使用div做层。而且框架也不支持css的display:none;属性。

最后的实现方法是使用在FRAMESET内再增加一个frame,出事状态时FRAMESET的rows属性将新增加的frame设置为高度为0。点击锁屏按钮时,则将FRAMESET中其他的frame的高度设置为0,将新增的frame高度设置为*。这样我们就完成了frame的替换功能。解锁后将 FRAMESET的rows属性重新设置为初始值,屏幕恢复到原状态。

这样并没有结束。如果用户在屏幕上使用右键刷新,或者按F5键刷新页面,就会绕过锁屏的密码校验功能。可以通过阻止F5和鼠标右键的默认实现达到目的。

//阻止F5或者鼠标右键刷新,使锁屏失效。

document.onkeydown = function(){

if(event.keyCode==116) {

event.keyCode=0;

event.returnValue = false;

}

}

document.oncontextmenu = function() {event.returnValue = false;}

最后调用的方法:

LockScreen(true,'标题',424,314,'http://www.baidu.com');

希望本文所述对大家的javascript程序设计有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值