的Video.js - 防止点击即可播放功能(Video.js - preventing clic

2019-08-31 11:50发布

我使用的Video.js到视频嵌入到HTML页面。 它是用来作为唯一的iPad的Web应用程序,所以我认为这是使用原生的HTML5播放器。 我试图禁用的点击播放功能(使用户必须使用控制),但我无法这样做。

我试着解除绑定click事件(使用jQuery)形成视频/视频播放器/海报,我已经使用的addEvent添加试图e.preventDefault()的视频,但没有这似乎工作。

PS。 我发现了几个帖子说,你可以注释掉的代码行,但此行并不在我的版本存在-也许插件已经被改写。

Answer 1:

点击这里

https://github.com/videojs/video.js/blob/master/docs/api/vjs.MediaTechController.md#removecontrolslisteners

因此,例如

v = videojs('scene04-video');
v.tech.removeControlsListeners();


Answer 2:

这将有助于了解你正在使用的版本。 这对我的作品在4.1(最新API)

// Disable big-play-button
videojs.Player.prototype.options_.children.bigPlayButton = false;

// Override click handler on media object;
videojs.MediaTechController.prototype.onClick = function() {};

// Initialize video
var vid = videojs("video", {});

// Show controls (since in my browser it doesn't think it needs to inititally)
vid.controlBar.show();

更新:我要澄清的是,以上仅使用dev.js API(未督促/精缩版)的作品。 在缩小的版本中,MediaTechController的onClick函数名称不保留,你不能可靠地覆盖它。 在这种情况下,你可以尝试手动断开的HTML5和Flash的点击事件:

videojs.Html5.off('click');
videojs.Flash.off('click');

var vid = videojs("video", {}, function() {
  this.bigPlayButton.hide();
});

// Again - show the controlbar (optionally)
vid.controlBar.show();


Answer 3:

你可以试试这个。 它帮助我。 只需添加这css文件:

.video-js.vjs-playing .vjs-tech {
  pointer-events: none;
}


Answer 4:

检查:

.vjs-tech {
  pointer-events: none;
}


文章来源: Video.js - preventing click-to-play functionality