如何捕获按下 HTML5 视频元素的默认全屏按钮时的全屏事件?

2024-04-26

我在使用 HTML5 时遇到问题video标签和iconic.

这是我的模板的一部分:

<ion-view>
   <ion-content overflow-scroll="true" data-tap-disable="true">
      <div class="list card">
        <div class="item item-body" style="padding: 5% 5% 5% 5%">
            <div class="player">
            <video controls="controls" autoplay id="sr"></video>
          </div>
        </div>
      </div>
   </ion-content>
</ion-view>

这是我的控制器:

.controller('viewVideoCtrl', function ($scope, $state, $stateParams) {
   var videoPath = URL + "uploadFiles" + $stateParams.videoPath;

   var videoObject = document.getElementById("sr");
   videoObject.src = videoPath;
   var webkitBeginFullScreen = function () {
      alert("video has fullScreen!");
   };

   var onVideoEndsFullScreen = function () {
     alert("fullScreen has end!");
   };

   videoObject.addEventListener('webkitbeginfullscreen', webkitBeginFullScreen, false);
   videoObject.addEventListener('webkitendfullscreen', onVideoEndsFullScreen, false);
});

如您所见,没有自定义控制按钮video标签并使用由 chromium 本身创建的默认控制栏。

现在我想做点什么fullscreen按钮被按下。我找到了添加两个侦听器的解决方案:webkitbeginfullscreen and webkitendfullscreen到视频对象,但它没有被触发。


我不确定 Android 还是 iOS,但是<video>元素可以使用以下三个事件之一:

  • webkitfullscreenchange
  • mozfullscreenchange
  • fullscreenchange

并尽可能规格说明 https://fullscreen.spec.whatwg.org/这就是你所拥有的一切。

See 这个例子 http://jsbin.com/gojakof/edit?html,js或以下代码:

function onFullScreen(e) {
  var isFullscreenNow = document.webkitFullscreenElement !== null
  alert('Fullscreen ' + isFullscreenNow)
}

document.getElementById("video").addEventListener('webkitfullscreenchange', onFullScreen)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何捕获按下 HTML5 视频元素的默认全屏按钮时的全屏事件? 的相关文章

  • Chrome 中的性能问题

    我目前正在从事一个相对较大的项目 使用 AngularJs 构建 应用程序的一部分是一个表单 您可以向其中添加任意数量的页面 不幸的是 添加了很多不必要的垃圾 即表示表单模型的对象可能会变得非常大 在某些时候 Chrome 基本上无法处理它
  • 使用 JavaScript 禁用第三方 cookie

    我正在努力根据所有在欧盟运营的公司的数据保护规则实施新的 Cookie 政策合规性 根据该规则 用户在使用任何网站时必须能够拒绝 接受除必需的 Cookie 之外的所有内容 在我客户的网站中 我可以看到正在存储以下第三方 cookie ga
  • 如何在codeigniter中将上传图片比例限制为16:9?

    这是我用来上传图像的代码 this gt load gt library upload ext pathinfo file name PATHINFO EXTENSION img name now ext imgConfig upload
  • 如何将内联 JavaScript 与 Express/Node.js 中动态生成的内容分开?

    对于具有几年 Web 开发经验但没有找到答案的人来说 这是一个有点菜鸟的问题程序员堆栈交换 or Google 我决定在这里问一下 我在用Express网络框架Node js 但这个问题并不特定于任何 Web 框架或编程语言 以下是从数据库
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no
  • 引导程序提前输入未填充承诺的响应

    我的引导程序预输入如下
  • 在打字稿中导入 json

    我是 typescript 的新手 在我的项目中 我们使用 typescript2 在我的要求之一中 我需要导入 json 文件 所以我创建了 d ts 文件如下 test d ts declare module json const va
  • 有没有办法使用 Rspec/Capybara/Selenium 将 javascript console.errors 打印到终端?

    当我运行 rspec 时 是否可以让 capybara selenium 向 rspec 报告任何 javascript console errors 和其他异常 我有一大堆测试失败 但当我手动测试它时 我的应用程序正在运行 如果不知道仅在
  • HTML5 MediaSource 适用于某些 mp4 文件,但不适用于其他文件(相同的编解码器)

    我正在玩 MediaSource API 代码直接取自 Mozilla 的示例页面 https developer mozilla org en US docs Web API MediaSource endOfStream https d
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 为什么我们在打字稿中使用 HTMLInputElement ?

    我们为什么使用 document getElementById ipv as HTMLInputElement value 代替 document getElementById ipv value 功能getElementById返回具有类
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • Firebase 函数 onWrite 未被调用

    我正在尝试使用 Firebase 函数实现一个触发器 该触发器会复制数据库中的一些数据 我想观看所有添加的内容votes user vote 结构为 我尝试的代码是 const functions require firebase func
  • 表格行未扩展到全宽

    我有一个表格 当我将表格的宽度设置为 100 并将表格行的宽度设置为 100 时 没有任何反应或宽度发生变化 Table Normal position relative display block margin 10px auto pad
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • 带参数的事件监听器

    我想将参数传递给 JavaScript 中的事件侦听器 我已经找到了解决方案 但我无法理解它们为什么或如何工作以及为什么其他解决方案不起作用 我有 C C 背景 但是 Javascript 函数的执行有很大不同 您能否帮助我理解以下示例如何
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n

随机推荐

  • Neo4jClient - 从 Neo4jClient 中创建索引?

    有没有办法在 Neo4jClient 中创建索引 我已经完成了原始查询 但认为这不是最好的选择 我这样做的原因是出于测试目的 我需要删除 重新创建数据库来测试不同设计的性能 你可以做这样的索引 graphClient Cypher Crea
  • 在 div 标签中垂直居中图像[重复]

    这个问题在这里已经有答案了 可能的重复 图像垂直和水平居中 CSS https stackoverflow com questions 2478434 center an image vertically and horizontally
  • d3 单击时聚焦于节点

    我正在尝试实现一种力布局 其中单击节点将能够专注于节点周围的区域 我看过一些例子 但我收到一个错误 上面写着link bounds is not defined 我认为边界没有为力布局定义 并且适用于我从中获取聚焦功能的示例http bl
  • 获取表中两组不同行的计数,然后将它们分开

    我对 MySQL 很陌生 我正在尝试提出一个基本上可以执行以下操作的查询 select from tasks where completed 1 除以 select from tasks where completed 0 我已经找到了解决
  • 我可以定义一个具有与每个值的键对应的值约束的 Typescript 映射吗?

    In 这个游乐场 https www typescriptlang org play code KYDwDg9gTgLgBASwHY2FAZgQwMbDgQQCMBnGKHGfbGBCJOAbwCg44YBPMYALjlKmQBzANwtE
  • 由 VBScript 运行的 xPath 中的未知方法

    错误消息是 msxml3 dll 未知方法 Record CelloXml Integration Case ServiceEvent gt last 我的代码如下所示 错误出在案例上NEW Case OLD可以很好地配合 0 在那里 On
  • 为什么 lambda 比 IL 注入动态方法更快?

    我刚刚构建了动态方法 见下文 感谢其他 SO 用户 看起来 Func 创建为动态方法 IL 注入比 lambda 慢 2 倍 有谁知道具体原因吗 编辑 这是在 VS2010 中构建为 x64 版本的 请从控制台而不是从 Visual Stu
  • 添加新的 ApplicationBarMenuItem 图标时无法分配给属性

    我添加了一个新的ApplicationBarMenu带有图标的按钮到我的 wp7 项目中的页面 当尝试运行页面时我得到 无法分配给属性 Microsoft Phone Shell ApplicationBarIconButton Click
  • 为量角器安装特定的 chromedriver

    我在 CircleCi 上运行的 chrome 驱动程序遇到问题 问题是运行时 node modules bin webdriver manager update 然后使用以下命令检查 chromedriver 和 selenium 的版本
  • html中的有什么用?

    看起来它允许您编辑元素的内容 但实际上发生了什么 这个属性有什么用呢 编辑 参见here http www w3 org TR html5 editing html contenteditable 这通常用于富文本输入 虽然常规表单元素如
  • Python 代码中标识符错误中的无效字符

    对于以下代码 我收到 标识符中的无效字符 错误 显示错误时 第 3 行中的 http 会突出显示 我是Python新手 请帮忙 import requests import html r requests get http cricapi
  • “找不到符号:方法”但该方法已声明

    在我的驱动程序中 这一行给了我cannot find symbol错误 我不知道为什么 该方法在SavingsAccount类 我可以引用我的驱动程序中的所有其他方法 但不是那个方法 我尝试将类型更改为double等但仍然无法正常工作 Ac
  • 是否可以在 C# 中观察 Rss feed 变化?

    我想创建一个服务来监听一些 Rss 提要并将新提要解析为 json 以供进一步使用 是否可以观察饲料的变化 如果可以 那么如何观察 thanks 查看System ServiceModel Syndicate SynminationFeed
  • 检查 Laravel 控制器中的多个守卫

    我在 laravel 中创建了三种类型的守卫 我可以检查身份验证用户 但我们有一些对所有用户都相同的路由和控制器 我需要为每种类型的登录用户检查相同路由或控制器中的所有守卫 我的 auth php 文件看起来像这样
  • 如何在ios中以编程方式安排事件?

    我的任务是编写一个应用程序 允许用户安排将来发送的电子邮件 用户从日期选择器中选择日期时间 撰写消息和收件人 然后安排事件 当日期 时间出现时 消息就会被发送出去 有人可以指导我如何安排日程安排吗 比如说短信 我知道如何发送短信 只是不确定
  • AWS lambda 基本身份验证,无需自定义授权者

    我在为用 Node js 编写的 AWS lambda 函数设置基本身份验证时遇到问题 问题 AWS lambda 函数是附加服务的代理 该函数仅转发整个请求并向用户提供整个响应 这就是为什么我需要强制使用Authentication标题
  • 理解同构字符串算法

    我理解以下代码来查找字符串是否同构 该代码使用两个哈希值s dict and t dict分别 我假设字符串的长度相同 def isIsomorphic s t s dict t dict for i in range len s if s
  • Flutter 中使用 BLoC 的异步请求

    我想下载数据 但也一直使用该应用程序 你能告诉我这是否是正确的解决方案 情况是我们按下下载按钮并调用函数 bloc dispatch Event download 在 Download 事件的 mapEventToState 中 我们请求数
  • Python 列表顺序

    在我编写的小脚本中 append 函数将输入的项目添加到列表的开头 而不是该列表的末尾 正如你可以清楚地理解的那样 我对 Python 很陌生 所以对我宽容一些 list append x 将项目添加到列表末尾 相当于a len a x 这
  • 如何捕获按下 HTML5 视频元素的默认全屏按钮时的全屏事件?

    我在使用 HTML5 时遇到问题video标签和iconic 这是我的模板的一部分