javascript怎样锁定屏幕

JavaScript034

javascript怎样锁定屏幕,第1张

不知道楼主问的是锁定页面还是整个计算机屏幕,如果后者就别想了,js不可能有那么大的权限,如果是锁定页面倒是好解决,用DIV+iframe盖住即可,再做个DIV上放一个文本框供输入解锁密码,密码正确就隐藏该DIV++iframe

锁定页面大概的代码如下:

<script language="javascript">

document.onkeydown=function(){//Ctrl+A锁定页面

if((event.ctrlKey)&&(event.keyCode==65)){

lock()

event.returnValue=false}

}

function lock(){//alert("锁定")

document.getElementById("lock").style.display=""

document.body.scroll="no"

}

function ulock(psd){

if(psd=="123"){//密码为"123"

document.getElementById("lock").style.display="none"

document.body.scroll="auto"

}else{

alert("密码错误")

document.getElementById("psd").focus()

}

}

</script>

<DIV id="lock" style="z-index:10000background:#fffposition:absoluteleft:0top:0display:none">

<div>

请输入密码解锁:

<input type="text" id=psd />

<input type="submit" value="确定" onclick="ulock(document.getElementById('psd').value)"></div>

<iframe style="width:10000pxheight:10000px"></iframe>

</div>

以上代码只提供一种思路,还有很多细节应该注意到:比如屏蔽刷新和一些快捷键等,还有界面的美化等。

祝好运!

在js中需要让某些异步的任务按顺序执行的时候可以Promise.then(Promise).then.....

但是有时候任务不是固定的,无法按照这种固定的模式写下去,需要其他的实现

这是ES6 async,await版本的,借助Promise的resolve,当前面的异步事件执行完后,会调用后面任务的resolve,后面的会执行。

纯Promise的也好实现,不过需要各种回调。

注解:ele要全屏的元素

退出全屏直接使用document调用exitFullscreen方法即可。

document.fullscreenElement():获取当前全屏的元素。

注意:

1.document下没有requestFullscreen

2.requestFullscreen方法只能由用户触发,比如:在onload事件中不能触发

3.页面跳转需先退出全屏

4.进入全屏的元素,将脱离其父元素,所以可能导致某些css失效

解决方案:使用 :full-screen伪类 为元素添加全屏时的样式(使用时为了兼容注意添加-webkit、-moz或-ms前缀)

5.一个元素全屏后,其子元素要再全屏,需先让该元素退出全屏