首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用JavaScript检测低功耗模式有可能吗?

用JavaScript检测低功耗模式有可能吗?
EN

Stack Overflow用户
提问于 2022-03-15 09:57:43
回答 3查看 61关注 0票数 0

我们有一个有背景视频的网站。当用户在IOS设备(iPhone、Mac等)上处于低功耗模式时,就会出现问题。

是否可以只处理低功耗模式,并设置回退图像,而不是视频播放按钮?

我看到了一个带有suspend事件的变体,但是当视频完全加载时它也会启动,所以对我们来说这不是一个正确的解决方案。

EN

回答 3

Stack Overflow用户

发布于 2022-03-15 11:02:56

您可以使用javaScript电池API跟踪电池状态。

票数 0
EN

Stack Overflow用户

发布于 2022-03-15 15:19:35

似乎我找到了一个解决方案:在我看来,最正确的方法就是处理错误抛出(在catch块中),并设置一个回退图像而不是视频。

FYI:这个解决方案只有在视频处于后台时才有意义(从UX的角度来看)

因此,解决办法是:

`

代码语言:javascript
运行
复制
useEffect(() => {
  if (videoRef.current) {
    videoRef.current?
      .play()
      .then(() => {})
      .catch((error) => {
        setVideoPaused(true);

        return error;
      });
  }
}, []);

`

票数 0
EN

Stack Overflow用户

发布于 2022-09-28 11:44:54

在低功耗模式https://video-dev.github.io/can-autoplay/中检查此链接

您将看到您得到的错误是"NotAllowedError",因为在当前上下文中不允许请求。这实际上适用于autoPlay被userAgent或系统设置所阻止的任何情况。

因此,将它抛到catch中,并为上面提到的回退设置状态。

代码语言:javascript
运行
复制
.catch((error) => {
 if (error.name === "NotAllowedError") {
  //low power mode
}

似乎很可靠

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71480212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档