当用户切换选项卡时暂停 html5 视频

2024-04-11

我的网页上嵌入了一个 HTML5 视频:

<video id="myvideo">
    <source src="videos/myvideo.mp4">
</video>

当用户转到不同的浏览器窗口或选项卡时,我有一些 jQuery 来暂停视频。并在用户返回时播放视频:

// pause when the user leaves this window/tab
$(window).blur(function(){
    $('#myvideo').get(0).pause();
});

// play when the user returns to this window/tab
$(window).focus(function(){
    $('#myvideo').get(0).play();
});

这样做的问题是,如果用户单击地址栏或关注不同的操作系统窗口,即使视频可见并且用户没有切换选项卡,视频也会暂停。

有没有办法根据当前选项卡是否打开(但不一定聚焦)来暂停/播放视频?


我在发布问题后几乎立即找到了答案。这页面可见性API https://developer.mozilla.org/en-US/docs/Web/Guide/User_experience/Using_the_Page_Visibility_API让您知道网页何时可见或处于焦点状态。有一个很好的 jQuery shim 叫做jquery 可见性 https://github.com/mathiasbynens/jquery-visibility为跨浏览器解决方案提供了干净的 API。使用它你可以做类似的事情:

$(document).on('show.visibility', function() {
    $('#myvideo').get(0).play();
});
$(document).on('hide.visibility', function() {
    $('#myvideo').get(0).pause();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当用户切换选项卡时暂停 html5 视频 的相关文章

  • 如何在浏览器验证带有“必填”属性的字段后禁用提交按钮?

    我们使用以下 jQuery 来禁用提交按钮 以防止重复提交 服务器速度慢 jQuery document ready function SENDE BTN INAKTIV STELLEN input type submit click fu
  • 使用 ffmpeg 提取帧的最快方法?

    您好 我需要使用 ffmpeg 从视频中提取帧 有没有比这更快的方法 ffmpeg i file mpg r 1 1 filename 03d jpg 如果 JPEG 编码步骤对性能要求太高 您可以始终将未压缩的帧存储为 BMP 图像 ff
  • img 标签如何通过 cors 标头获取内容

    为什么当我使用 fetch 从禁用响应 CORS 标头的服务器加载数据时 我预期会收到错误 Failed to load http www imgworlds com wp content uploads 2015 12 18 CONTAC
  • CSS 文本装饰:反向

    我很惊讶 CSS 中没有 text decoration reverse 因为使用 JavaScript 来实现似乎非常尴尬 IE 将元素的前景色和背景色分别设置为父元素的背景色和前景色 我注意到了 JavaScript 技术here ht
  • 根据质量和弹跳系数计算球与球碰撞的速度和方向

    我基于以下代码使用了this http en wikipedia org wiki Elastic collision One dimensional Newtonian ballA vx u1x m1 m2 2 m2 u2x m1 m2
  • 如何在div的整个内容中禁用jquery mobile的样式?

    我从事 jQuery Mobile 的项目 在页面中 我想使用mobilescroll对于选择 I try data role none 但这对孩子不起作用 和mobilescroll创建自己的标签 如何在整个内容中禁用 jQuery Mo
  • 调整表格上的列宽

    目前 如果表格的宽度不大于容器的宽度 我可以调整表格列的大小 我希望发生的是在调整列大小时表格的宽度增加 以便滚动条出现在表格下方 基本上允许我调整大小而不受容器宽度的限制 这是一个小提琴 https jsfiddle net thatOn
  • 网格属性不适用于网格容器内的元素

    我正在尝试定位嵌套li ul li ul li 在最顶层创建的 CSS 网格上ul 还没有爱 它不起作用 也许这是不可能的 或者我错过了什么 orgChart ul orgChartLevel1 display grid grid temp
  • 类型错误:无法读取未定义的属性“存在”

    我正在尝试为 jsx 文件编写一个测试用例 在此我能够传递 proptypes 但不是我正确传递 proptypes 的地方 当我运行测试用例时出现错误 下面提供我的错误 测试用例和代码 类型错误 无法读取未定义的属性 存在 不知道如何让它
  • 如何在 Android 上禁用 HTML 输入中的自动更正?

    我无法在 Android 上的网络浏览器中禁用文本输入的自动更正 我试过这个
  • PHP 5 的 HTML 表单库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个QuickForm替代品 QF 存在性能问题 例如组合框中的许多选项 我还想要一些更面向对象的东西 比如 Zend Form
  • CSS - 将文本保留在图像下方

    我正在尝试创建一个简单的图片库 有人告诉我使用 float left 但是当我这样做时 页脚中的所有文本都会射到第一张图像 我已经搜索了大约一个小时试图找到解决方案 但我找不到任何东西 我尝试过使用边距 边框 不同的对齐方式和各种不同的小东
  • IPython Notebook Markdown——允许的 HTML 标签列表是什么以及如何更改它们?

    我正在使用 IPython Notebook markdown 创建一个文档 它确实允许一些 HTML 例如 img 例如但我添加了包含 SVG 文件 但它不会显示在 IPython Notebook 输出中 我仔细检查了 IPython
  • Firefox:按下鼠标按钮时鼠标悬停不起作用

    这是我想做的 https gfycat com ValidEmbarrassedHochstettersfrog https gfycat com ValidEmbarrassedHochstettersfrog 我想强调一些 td 对象在
  • 相当于Outlook中的浮动

    我在尝试着float left一些表 但是刚刚遇到一个大问题 outlook不支持float 好吧 然后我尝试使用表格对齐等 但没有运气 桌子只是显示在彼此下方 而不是彼此并排 对此我们能做些什么吗 PS 它在其他设备上工作得很好 它只是
  • 为什么 Jqgrid 冻结列似乎不能与过滤器行和过滤器标题一起使用?

    我无法让冻结列与 jqgrid 4 3 0 一起使用 我唯一能想到的是我有一些不是开箱即用的具体东西 我在顶部使用过滤行 我使用 cloneToTop true 显示网格顶部的所有按钮 我有以下代码 用于在 jqggrid 顶部显示过滤器状
  • 计算网站上多个文件的下载次数的最佳方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 问题是 计算网站上多个文件的下载次数的最佳方法 我正在尝试做的事情 跟踪并统计多个文件的下载数量 对于具有不同扩展名的文件 foo z
  • ECHO MYSQL 结果显示空白页 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道这一定很简单 但我做不到 我需
  • 常见的电子邮件客户端是否会预取链接而不是图像?

    尽管我知道很多电子邮件客户端会预取或以其他方式缓存图像 我不知道有任何预取常规链接 例如 a href somelinkhere some link a 这是某些电子邮件的做法吗 如果是 是否存在某种不跟随类型rel可以添加到链接中以帮助防
  • firefox 不支持 mediastreamtrack.getsources,如何执行等效操作

    有没有等效的方法来获取连接到 PC 的视频设备列表 除了内置网络摄像头连接之外 我还有一个外部网络摄像头连接 mediastreamtrack getsources 在 Chrome 中工作 但 Firefox 报告 TypeError M

随机推荐

  • 模棱两可的出现“只是”

    我是一个绝对的初学者 使用 emacs 浏览 LYAH 我当前的设置 Ubuntu 12 04 LTS 使用体验 初学者 GNU Emacs 23 Use Experience beginner 能够在 haskell 主要模式下工作 发现
  • 使用 SUM 计算运行总计的 T-SQL

    我有一个简单的表 其中包含一些虚拟数据设置 例如 id user value 1 John 2 2 Ted 1 3 John 4 4 Ted 2 我可以通过执行以下 sql MSSQL 2008 语句来选择运行总计 SELECT a id
  • 在 SQL 中仅选择列中重复值的第一行

    我有一个表 其中有一列可能在突发中具有相同的值 像这样 id Col1 1 6050000 2 6050000 3 6050000 4 6060000 5 6060000 6 6060000 7 6060000 8 6060000 9
  • 为什么 C# 中线程安全事件调用的这种“常见”习惯用法完全有效? [复制]

    这个问题在这里已经有答案了 我正在阅读有效的 C 我遇到了以下模式来改进事件调用行为并使其线程安全 public class EventSource private EventHandler
  • Oauth2有没有Php客户端? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 是否有适用于 PHP 的 OAuth 用户库 理想情况下可用于 Google 的 API Google 使用 OAuth2 提供了自己的
  • Java:对文本文件行进行排序

    我正在使用 eclipse 并且尝试对大约 40 行的文本文件进行排序 如下所示 1 Terminator 1984 Schwarzenegger 2 Avatar 2009 Worthington 3 Avengers 2012 Down
  • 使用或不使用协议验证 URL

    您好 我想验证以下网址 因此只要存在 TLD 如 com net org 等 无论是否包含 http www 部分 它们都会通过 有效的 URL 应该是 http www domain com http domain com https w
  • ANDROID:将屏幕分成 2 个相等的部分,并有 2 个列表视图

    我正在尝试将 2 个列表视图放入我的布局中 问题是我事先不知道每个列表视图的大小 第一个列表视图可以有几个项目 0 1 2 最多大约 10 个 第二个列表视图可以有许多项目 最多 100 个 我尝试将两个列表视图的权重设置为 1 但它不起作
  • 将超类中的 @Sql 与子类中的 @Sql 合并

    我有一个带有注释的抽象类 Sql executionPhase ExecutionPhase BEFORE TEST METHOD scripts someScript 我有一个继承自抽象类的测试类 子类也注释为 Sql execution
  • Cron python脚本不执行[重复]

    这个问题在这里已经有答案了 我读过一些关于此的文章 但我无法在其中找到帮助 我有一个使用 smtplib 发送邮件的 python 脚本 从命令行调用时它会起作用 I have usr bin python作为第一行 并且可以使用以下命令运
  • 市政数据集? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一些数据来创建查找表 具体来说 美国每个州的所有县以及每个县的所有城市 我在哪里可以找到这样的市政数据集 编辑 我正在查看 census g
  • 为什么 subprocess.Popen 不起作用

    我尝试了很多事情 但由于某种原因我无法让事情发挥作用 我正在尝试使用 Python 脚本运行 MS VS 的 dumpbin 实用程序 这是我尝试过的 以及对我不起作用的 1 tempFile open C Windows temp tem
  • difflib.SequenceMatcher isjunk 参数未考虑?

    在 python difflib 库中 SequenceMatcher 类的行为是否异常 或者我是否误读了假定的行为 为什么 isjunk 论点在这种情况下似乎没有任何区别 difflib SequenceMatcher None AA A
  • 错误“无法推断 (a ~ b)”是什么意思?

    我正在修改以下代码作为作业的一部分 rand Random a gt State StdGen a rand do gen lt get let x gen random gen put gen return x 我被要求写一个函数rand
  • onReceive 方法没有被调用

    public class BroadcastTest extends Activity BroadcastReceiver receiver Called when the activity is first created Overrid
  • React Router 3,与查询参数完全匹配

    在 React Router 3 中 如何精确匹配包含查询参数的路由 像这样的事情
  • 无法推送到 Codeplex 上的 Hg 项目

    我正在尝试对使用 Mercurial 的 Codeplex 项目进行更改 我收到以下错误 中止 HTTP 错误 500 找到放弃的事务 运行 hg recovery 我在我的家用电脑上尝试过 但遇到了同样的错误 我运行 hg recover
  • Django站点地图索引分页URL格式

    我创建了一个站点地图索引 https docs djangoproject com en dev ref contrib sitemaps creating a sitemap index对于我的 Django 站点 因为我有超过 50k
  • 病毒或机器故障导致“无法创建Java虚拟机”?

    我用的是双核XP机安装了 4GB 内存 但仅2 5GB由于 32 位事实 由操作系统报告 我正在积极修改旧的 JAVA 应用程序至少一个月 使用最新的Eclipse 编辑 构建和运行 和Ant 另一种构建和运行的方式 在里面Eclipse运
  • 当用户切换选项卡时暂停 html5 视频

    我的网页上嵌入了一个 HTML5 视频