所有浏览器现在都支持 Screen Wake Lock API

Screen Wake Lock API 现已正式登陆所有主流浏览器(Chrome、Safari 和 Firefox)。借助此 API,您可以控制设备的屏幕唤醒行为,并确保与 Web 应用的互动不中断。

浏览器支持

  • 84
  • 84
  • 126
  • 16.4

来源

现在可支持以下两个用例。

  • 无缝演示:该 API 可防止基于 Web 的演示或幻灯片应用的屏幕变暗,因此演示者现在可以提供精美而专业的体验。
  • 食谱网站:该 API 可以使屏幕保持开启状态,因此用户在按照烘焙食谱进行操作时,无需担心手里满是面团的屏幕会关闭。

如需详细了解如何使用该 API,请参阅使用 Screen Wake Lock API 不锁定屏幕。以下代码段展示了最常见的互动。

// The wake lock sentinel.
let wakeLock = null;

// Function that attempts to request a screen wake lock.
const requestWakeLock = async () => {
  try {
    wakeLock = await navigator.wakeLock.request();
    wakeLock.addEventListener('release', () => {
      console.log('Screen Wake Lock released:', wakeLock.released);
    });
    console.log('Screen Wake Lock released:', wakeLock.released);
  } catch (err) {
    console.error(`${err.name}, ${err.message}`);
  }
};

// Request a screen wake lock…
await requestWakeLock();
// …and release it again after 5s.
window.setTimeout(() => {
  wakeLock.release();
  wakeLock = null;
}, 5000);

Screen Wake Lock API 的广泛采用是 Web 开发社区向前迈进的积极一步。凭借多样化的应用和广泛的支持,您可以打造更可靠、更完善的 Web 体验,最终使使用不同浏览器的用户受益。祝您上网更顺畅、更无干扰!