如何判断浏览器/标签页是否处于活动状态,以及在用户离开时调低音量

亚当·戈拉布(Adam Golab)

如何检查活动标签页是否打开?当用户离开标签页时,我想使网站上的视频静音。目前,我正在使用:

$(window).on('focus', function() {
    $("video").prop('muted', false);
});

但是当用户单击地址栏时,视频被静音,因此这是意外的。我可以避免这种行为吗?最好的解决方案是在此网页上找到类似的内容:http : //volkswagen-sportscars.fr/cars/当用户在浏览器中打开其他选项卡时,声音会平稳地调低。这个怎么做的?

阿德内

较新的浏览器(IE10及更高版本)支持页面可见性API

页面可见性API可让您知道网页何时可见或处于焦点状态。使用选项卡式浏览时,任何给定的网页都有可能在后台出现,因此对用户不可见。当用户最小化网页或移动到另一个选项卡时,API将发送有关页面可见性的可见性更改事件。您可以检测到该事件并执行某些操作或表现不同。例如,如果您的Web应用正在播放视频,则它将在用户查看其他浏览器时暂停播放,并在用户返回至标签页时再次播放。用户不会在视频中失去自己的位置,可以继续观看。

用了这样的东西

var hidden, visibilityChange;
if (typeof document.hidden !== "undefined") {
    hidden = "hidden";
    visibilityChange = "visibilitychange";
} else if (typeof document.mozHidden !== "undefined") {
    hidden = "mozHidden";
    visibilityChange = "mozvisibilitychange";
} else if (typeof document.msHidden !== "undefined") {
    hidden = "msHidden";
    visibilityChange = "msvisibilitychange";
} else if (typeof document.webkitHidden !== "undefined") {
    hidden = "webkitHidden";
    visibilityChange = "webkitvisibilitychange";
}

document.addEventListener(visibilityChange, handleVisibilityChange, false);

function handleVisibilityChange() {
    $("video").prop('muted', document[hidden]);
}

示范

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检测浏览器选项卡是否处于活动状态或用户已离开

来自分类Dev

有没有办法判断浏览器是否处于活动状态?

来自分类Dev

如何检查浏览器是否在Crossrider中处于活动状态?

来自分类Dev

检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]

来自分类Dev

如何判断用户是否使用Brave作为浏览器?

来自分类Dev

检查是否使用Android默认浏览器或任何移动浏览器(如果处于活动状态)

来自分类Dev

如何确定我的网站/网页在用户桌面上是否处于活动状态

来自分类Dev

如何确定我的网站/网页在用户桌面上是否处于活动状态

来自分类Dev

如何在服务器仍处于活动状态时检查浏览器连接?

来自分类Dev

如何在服务器仍处于活动状态的情况下检查浏览器连接?

来自分类Dev

如何通过保持webDriver处于活动状态来关闭整个浏览器窗口?

来自分类Dev

如果浏览器选项卡处于活动状态,如何更改 Shopify 标题

来自分类Dev

是否想在浏览器窗口处于活动状态时每次按下按键时读取按键事件并打印按键?

来自分类Dev

如何检测浏览器未最小化且相关选项卡未处于活动状态

来自分类Dev

调低音量会延迟调用onKeyDown(同时调高音量会及时调用它)

来自分类Dev

播放其他声音文件时调低音量/暂停音乐

来自分类Dev

Android如何知道用户是否处于非活动状态

来自分类Dev

谷歌浏览器新标签页的网址是什么以及如何将其从manifest.json中排除

来自分类Dev

谷歌浏览器新标签页的网址是什么以及如何将其从manifest.json中排除

来自分类Dev

如何关闭Google Chrome浏览器左侧的标签页?

来自分类Dev

仅在用户使用Laravel处于活动状态时登录

来自分类Dev

木偶:浏览器断开后,Chromium实例在后台仍处于活动状态

来自分类Dev

每当我的Chrome扩展程序的标签页处于活动状态时,如何激活该功能

来自分类Dev

检测浏览器/标签页关闭

来自分类Dev

检测浏览器/标签页关闭

来自分类Dev

用户离开浏览器时运行Web应用

来自分类Dev

Ruby on Rails:Edit Sessions控制器创建操作来检查用户是否处于活动状态

来自分类Dev

当浏览器选项卡处于焦点状态时,如何使setInterval运行?

来自分类Dev

使用 Selenium 驱动程序加载页面,关闭/处理它并保持浏览器处于活动状态

Related 相关文章

  1. 1

    检测浏览器选项卡是否处于活动状态或用户已离开

  2. 2

    有没有办法判断浏览器是否处于活动状态?

  3. 3

    如何检查浏览器是否在Crossrider中处于活动状态?

  4. 4

    检测浏览器窗口是否处于活动状态,并在窗口再次处于活动状态后启动事件[JavaScript]

  5. 5

    如何判断用户是否使用Brave作为浏览器?

  6. 6

    检查是否使用Android默认浏览器或任何移动浏览器(如果处于活动状态)

  7. 7

    如何确定我的网站/网页在用户桌面上是否处于活动状态

  8. 8

    如何确定我的网站/网页在用户桌面上是否处于活动状态

  9. 9

    如何在服务器仍处于活动状态时检查浏览器连接?

  10. 10

    如何在服务器仍处于活动状态的情况下检查浏览器连接?

  11. 11

    如何通过保持webDriver处于活动状态来关闭整个浏览器窗口?

  12. 12

    如果浏览器选项卡处于活动状态,如何更改 Shopify 标题

  13. 13

    是否想在浏览器窗口处于活动状态时每次按下按键时读取按键事件并打印按键?

  14. 14

    如何检测浏览器未最小化且相关选项卡未处于活动状态

  15. 15

    调低音量会延迟调用onKeyDown(同时调高音量会及时调用它)

  16. 16

    播放其他声音文件时调低音量/暂停音乐

  17. 17

    Android如何知道用户是否处于非活动状态

  18. 18

    谷歌浏览器新标签页的网址是什么以及如何将其从manifest.json中排除

  19. 19

    谷歌浏览器新标签页的网址是什么以及如何将其从manifest.json中排除

  20. 20

    如何关闭Google Chrome浏览器左侧的标签页?

  21. 21

    仅在用户使用Laravel处于活动状态时登录

  22. 22

    木偶:浏览器断开后,Chromium实例在后台仍处于活动状态

  23. 23

    每当我的Chrome扩展程序的标签页处于活动状态时,如何激活该功能

  24. 24

    检测浏览器/标签页关闭

  25. 25

    检测浏览器/标签页关闭

  26. 26

    用户离开浏览器时运行Web应用

  27. 27

    Ruby on Rails:Edit Sessions控制器创建操作来检查用户是否处于活动状态

  28. 28

    当浏览器选项卡处于焦点状态时,如何使setInterval运行?

  29. 29

    使用 Selenium 驱动程序加载页面,关闭/处理它并保持浏览器处于活动状态

热门标签

归档