整合營銷服務(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精品福利一区二区| 福利在线一区二区| 精品视频一区二区三区免费| 国产日韩一区二区三区| 国产亚洲福利精品一区二区| 久久毛片免费看一区二区三区| 福利一区二区三区视频在线观看| 国产香蕉一区二区在线网站| 一区二区三区杨幂在线观看| 一区二区三区观看免费中文视频在线播放 | 无码乱人伦一区二区亚洲| 亚洲综合一区无码精品| 亚洲免费视频一区二区三区| 亚洲午夜电影一区二区三区| 国产一区二区在线观看麻豆| 日本一区二区免费看| 亚洲欧洲专线一区| 国产日韩一区二区三免费高清| 无码少妇一区二区浪潮免费| 伊人久久大香线蕉av一区| 午夜视频在线观看一区| 国产一区二区在线看| 日本高清天码一区在线播放| 天堂资源中文最新版在线一区| 丝袜美腿高跟呻吟高潮一区| 国产成人精品日本亚洲专一区| 亚洲AⅤ无码一区二区三区在线| 亚洲一区二区三区免费观看| 久久无码一区二区三区少妇 |