欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 浏览器阻止屏幕息屏,js阻止浏览器息屏,Web网页阻止息屏

浏览器阻止屏幕息屏,js阻止浏览器息屏,Web网页阻止息屏

2024/10/24 15:17:09 来源:https://blog.csdn.net/weixin_49111162/article/details/139440828  浏览:    关键词:浏览器阻止屏幕息屏,js阻止浏览器息屏,Web网页阻止息屏

场景: 比如打开一个浏览器页面(比如大屏),想让它一直显示着,而不是过几分钟不操作就屏幕黑了.(电脑有设置电脑不操作就会多长时间就会息屏睡眠,如果要求每个客户都去操作一下电脑设置一下从不睡眠,这很不友好和现实.而且我也只想客户在大屏的时候才这样,其他页面就正常,按电脑设定走)

实现方法:
要想屏幕保持唤起一直不息屏状态,很简单,一行代码的事情:

navigator.wakeLock.request('screen');

是不是很简单,但是这里面还有一些注意点,

  1. 由于保持屏幕唤醒是一个占用资源开销的操作,所以,浏览器有个行为,那就是如果当前页面最小化,或者非当前显示标签页,屏幕的Wake锁定行为会被释放,用户再切换过来的时候,就没有锁定了,因此,还需要其他代码的处理。
document.addEventListener('visibilitychange', () => {if (document.visibilityState === 'visible') {navigator.wakeLock.request("screen")}
});
  1. 在实操过程中,很容易重复执行唤醒锁定,因此,还需要知道什么时候释放了屏幕唤醒操作,以及如何主动释放禁止熄屏的功能。
wakeLock.release().then(() => {wakeLock = null;
});

来一波vue前端代码操作试验 :

html<el-radio-group v-model="radioVlaue" @input="changeStatue()"><el-radio :label="1">不息屏</el-radio><el-radio :label="2">息屏</el-radio></el-radio-group>
export default {data() {return {wakeLock: null,};},mounted() {this.setWakeLock();},methods: {changeStatue() {if(navigator.wakeLock) {if(this.radioVlaue == 1) {this.setWakeLock();}else {this.wakeLock.release().then(() => {this.wakeLock = null;});}}},setWakeLock() {if(this.wakeLock) {return;}navigator.wakeLock.request('screen').then(result => {this.wakeLock = result;console.log('唤醒锁定已激活');this.wakeLock.addEventListener('release', () => {this.wakeLock = null;console.log('唤醒锁定已释放');});}).catch((err) => {console.error(`<span class="red">唤醒锁定失败:${err.message}</span>`);});if(navigator.wakeLock) {// 选项卡切换到当前页面,如果已经释放了熄屏,再次锁定document.addEventListener('visibilitychange', () => {if(this.wakeLock === null && document.visibilityState === 'visible' && this.radioVlaue == 1) {this.setWakeLock();}});}else {console.error('当前浏览器不支持Screen Wake Lock API!');}},},

如果想看看效果,可以试试,最好把电脑息屏改成1分钟,要不然等太久了, 累啊…(除非等待时间玩把手游😁)

对了,还有一个要注意:
屏幕唤起锁定不是没有代价的,如果屏幕一直保持明亮,会阻止屏幕保护程序的启动,会影响显示器的寿命。
对于移动设备,屏幕往往是最耗电的,因此,阻止熄屏会带来更高的电量开销,因此,非必要场景是不推荐启用熄屏锁定的。

这是看了前端css大佬张鑫旭写的一波文章,观后有感😄,如果大家不认识,百度一波

拿走,不用谢!!!送人玫瑰,手留余香
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com