2013-04-18 187 views
4

我使用video.js將視頻嵌入HTML頁面。它被用作ipad專用的web應用程序,所以我相信它使用的是原生的HTML5播放器。我試圖禁用點擊播放功能(以便用戶必須使用控件),但我在這樣做時遇到問題。Video.js - 防止點擊播放功能

我試過解除綁定點擊事件(使用jQuery)形式的視頻/視頻播放器/海報,我試過使用addevent添加e.preventDefault()到視頻,但沒有一個這似乎工作。

詩篇。我發現couple of posts說你可以在代碼中註釋掉一行,但是在我的版本中不存在這行 - 也許插件已被重寫。

+0

你有沒有想過這個?我正在嘗試做同樣的事情。 – goddamnyouryan

回答

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(); 

UPDATE:我要澄清的是,以上僅使用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(); 
+0

check .. videojs.Html5沒有名爲off()的方法。 videojs實例,但它沒有命名點擊我認爲。 – commonpike

1

你可以試試這個。它幫助了我。只需將其添加到css文件中:

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