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

标签 javascript html ionic-framework html5-video html5-fullscreen

我在使用 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 :

.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 按钮时做一些事情。我找到了一个将两个监听器添加到视频对象的解决方案:webkitbeginfullscreenwebkitendfullscreen,但它没有被触发。

最佳答案

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

  • webkitfullscreenchange
  • mozfullscreenchange
  • fullscreenchange

the specification goes这就是你所拥有的。

参见 this example或以下代码:

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

document.getElementById("video").addEventListener('webkitfullscreenchange', onFullScreen)

关于javascript - 当我按下HTML5视频元素的默认全屏按钮时,如何捕获全屏事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34896683/

相关文章:

javascript - 如何在循环中更改进度条?

javascript - LimeJS goog.event.listen 不会对子进程触发

ionic-framework - Ionic - 运行时错误 this.fba.logEvent(...).then 不是函数

html - CSS:如何在不设置固定高度的情况下使背景图像出现在 div 中

javascript - 如何在 jQuery 中构造一个新的 HTML 元素?

node.js - `npm install` 不工作。未处理的拒绝错误: EISDIR: illegal operation on a directory

javascript - Ionic 框架如何添加带有国家/地区代码的手机号码表单?

javascript - 页面刷新后所选选项卡不处于事件状态

javascript - Div 右对齐并根据右侧的其他 Div 更改 x 位置

javascript - 如何使用 JavaScript 链接到 Access 数据库?