7

video.js を使用してビデオを HTML ページに埋め込みます。iPad 専用の Web アプリとして使用する予定なので、ネイティブの HTML5 プレーヤーを使用していると思います。Click-to-Play 機能を無効にしようとしています (ユーザーがコントロールを使用する必要があるため) が、うまくいきません。

ビデオ/ビデオプレーヤー/ポスターから(jQueryを使用して)クリックイベントのバインドを解除しようとしましたが、addeventを使用e.preventDefault()してビデオに追加しようとしましたが、どれもうまくいかないようです。

Ps。コード内の行をコメントアウトできるという投稿をいくつか見つけましたが、この行は私のバージョンには存在しません。プラグインが書き直された可能性があります。

4

4 に答える 4

5

ここをチェック

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

たとえば

v = videojs('scene04-video');
v.tech.removeControlsListeners();
于 2014-03-19T23:21:18.820 に答える
4

これを試すことができます。それは私を助けました。これをcssファイルに追加するだけです:

.video-js.vjs-playing .vjs-tech {
  pointer-events: none;
}
于 2016-04-06T12:48:12.467 に答える
3

使用しているバージョンを知っておくと役立ちます。これは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 を使用してのみ機能することを明確にする必要があります (prod/minified バージョンではありません)。縮小版では、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();
于 2013-07-03T03:01:18.140 に答える
2

これをチェックして:

.vjs-tech {
  pointer-events: none;
}
于 2018-12-25T19:23:46.960 に答える