整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          你知道用 JavaScript 阻止屏幕睡眠有多難嗎

          你知道用 JavaScript 阻止屏幕睡眠有多難嗎?

          用 JavaScript 阻止屏幕進(jìn)入睡眠狀態(tài)

          最近在 H5 端有需要保持手機(jī)屏幕常亮的需求,輾轉(zhuǎn)之下,發(fā)現(xiàn)了一個早在 chrome 85 中就已經(jīng)支持的 Web API,不過,截止到今天發(fā)文時,Safari 仍不支持,盡管如此,在安卓端我們還是能調(diào)用這個 API 來節(jié)省設(shè)備電池電量(相對于 NoSleep.js 來說),ios 端使用 polyfill 的方式,在將來 Safari 支持該 API 后移除即可。

          Wake Lock 可防止屏幕關(guān)閉、變暗或鎖定,僅適用于活動的選項卡/窗口,這可以防止后臺選項卡使您的設(shè)備保持喚醒狀態(tài),也提供了函數(shù)以隨時通過代碼手動釋放。

          調(diào)用 Wake Lock 之前,我們首先需要檢查當(dāng)前瀏覽器中是否存在該功能。我們可以使用以下簡單函數(shù)來做到這一點。

          const canWakeLock=()=> 'wakeLock' in navigator;

          請求喚醒鎖

          下面的示例演示如何請求 WakeLockSentinel 對象。WakeLock.request 方法是基于 Promise 的,因此我們可以創(chuàng)建一個異步函數(shù)。

          let wakeLock=null;const requestWakeLock=async ()=>{
              try {
                  wakeLock=await navigator.wakeLock.request('screen');
                  console.log('Wake Lock is active!');
              } catch (err) {
                  console.log(`${err.name}, ${err.message}`);
          }}
          requestWakeLock()

          釋放喚醒鎖

          下面的示例演示如何釋放以前獲取的喚醒鎖。

          wakeLock.release().then(()=> wakeLock=null);

          偵聽喚醒鎖釋放

          如因任何原因(例如離開活動窗口/選項卡)而釋放喚醒鎖,將出觸發(fā) release 監(jiān)聽函數(shù)。

          wakeLock.addEventListener('release', ()=> {
          console.log('Wake Lock has been released');});

          重新獲取喚醒鎖

          以下代碼在文檔的可見性發(fā)生更改并釋放喚醒鎖時重新獲取喚醒鎖。

          家都知道javascript單線程異步機(jī)制

          接下來看一個例子


          異步運行

          需求來了先輸出a,5秒后再輸出b,再過5秒輸出c。

          用笨方法運行一下


          笨笨的嵌套


          運行結(jié)果

          這種方式好像也可以實現(xiàn),但是需要一層一層的嵌套

          接下來實現(xiàn)最終sleep函數(shù)

          封裝sleep函數(shù)

          運行結(jié)果

          使用 async / await 異步等待來實現(xiàn)

          如果對您有用點個贊支持一下,小編感激不盡!

          電腦長時間不用的時候,我們一般都會讓其待機(jī),這個時候就需要用到電腦的休眠功能了。如果把休眠的快捷方式設(shè)置到桌面上的話,那么操作起來就會非常方便,只需要點擊一下鼠標(biāo)就可以進(jìn)入休眠狀態(tài)了,下面小編就將大家如何在Windows 7系統(tǒng)下設(shè)置休眠的快捷方式的方法。

          從Windows XP開始,Windows默認(rèn)不再提供休眠按鈕,我們只能在關(guān)機(jī)的窗口中按下Shift鍵,使“待機(jī)”變?yōu)椤靶菝摺保拍軌蚴蛊溥M(jìn)入休眠狀態(tài)。

          而在Vista和Windows 7之后,“休眠”功能進(jìn)行了大幅增強(qiáng),也變得更加人性化,但是還是略顯繁瑣,用戶需要的僅僅是按兩下就完成的休眠功能,從網(wǎng)絡(luò)上也有很多打補(bǔ)丁或是修改注冊表的方法來實現(xiàn)“一鍵休眠”,但是普通用戶在設(shè)置修改的時候稍有不慎機(jī)器就會崩潰。

          筆者今天將為大家介紹一種Windows 7系統(tǒng)自帶的方法,設(shè)置完畢之后,按一個快捷鍵就能快速使計算機(jī)休眠,與大家一起分享。

          在Windows 7桌面上,右鍵屬性新建一個快捷方式,并在提示的對象位置上,鍵入我們需要創(chuàng)建快捷方式程序的位置,將“rundll32.exe powrprof.dll,SetSuspendState Hibernate”輸入到空格處,點擊下一步,如上圖所示。

          將我們新建的快捷方式設(shè)定一個名稱,這里取名為“休眠”,點擊完成按鈕,完成第一步的新建快捷方式操作過程。

          在第一步中,我們已經(jīng)新建完了“休眠”快捷方式。現(xiàn)在我們只需要去雙擊運行“休眠”程序,計算機(jī)系統(tǒng)就會自動進(jìn)入黑屏后休眠。

          在這里,其實我們還可以為這個快捷方式設(shè)定一個快捷按鍵,即是在鍵盤上定義一個物理按鍵,并當(dāng)我們按下這個定義好的按鍵時,計算機(jī)就能自動通過啟動桌面的“休眠”程序來進(jìn)入休眠狀態(tài),這樣的話,用戶在使用起來的時候就更加方便了。

          在右鍵彈出的“休眠”屬性中,我們看到在“快捷方式”標(biāo)簽下,有一個“快捷鍵”的按鈕,用戶在這里可以根據(jù)自己的使用習(xí)慣,選擇鍵盤上的一個按鈕后,點擊“應(yīng)用”完成設(shè)置。

          小結(jié):當(dāng)你需要待機(jī)外出一兩個小時再回來時,讓計算機(jī)進(jìn)入休眠狀態(tài),明顯既省電又能使計算機(jī)進(jìn)入休息非常方便。在待機(jī)狀態(tài)下,將當(dāng)前數(shù)據(jù)保存在內(nèi)存中,因此只向內(nèi)存供應(yīng)電源。該模式的特點是喚醒時恢復(fù)的時間比休眠狀態(tài)要短。

          休眠狀態(tài)是將內(nèi)存中的數(shù)據(jù)暫時保存在硬盤中,然后切斷內(nèi)存的電源。在休眠狀態(tài)下大部分部件的電源都被切斷。因此休眠狀態(tài)下會更為省電一些。

          文章來自互聯(lián)網(wǎng),只做分享使用。發(fā)布者:云評測專家,轉(zhuǎn)轉(zhuǎn)請注明出處:https://www.baoxiaoke.com/article/100493.html


          主站蜘蛛池模板: 色婷婷香蕉在线一区二区| 免费国产在线精品一区| 男女久久久国产一区二区三区| 精品一区二区三区中文字幕| 丰满岳妇乱一区二区三区| 中文字幕一区视频| 本免费AV无码专区一区| 男人的天堂精品国产一区| 国内精品一区二区三区最新| 激情内射亚洲一区二区三区爱妻| 国产一区二区四区在线观看 | 精品一区二区三区自拍图片区| 国产日韩精品一区二区在线观看播放 | 色婷婷一区二区三区四区成人网| 日韩十八禁一区二区久久| 中文字幕一区在线观看视频| 91福利视频一区| 中文字幕乱码一区久久麻豆樱花| 精品不卡一区二区| 亚洲日韩中文字幕无码一区| 3d动漫精品成人一区二区三| 人妻少妇久久中文字幕一区二区 | 无码国产精品一区二区免费3p| 久久影院亚洲一区| 国产精品熟女一区二区| 无码人妻视频一区二区三区| 精品无码AV一区二区三区不卡 | 国产在线一区二区三区av| 亚洲AV网一区二区三区| 国产精品成人一区二区三区| 91国在线啪精品一区| 中文字幕永久一区二区三区在线观看 | 亚洲av乱码中文一区二区三区| 一区二区亚洲精品精华液| 99国产精品欧美一区二区三区| 国产伦精品一区二区三区免费迷| 一区二区三区在线| 日韩一区二区电影| 久久一区二区三区精华液使用方法| 韩国资源视频一区二区三区| 一区二区高清在线|