有一個HTML視頻標籤。我想知道它什麼時候開始播放:如何知道是什麼導致html視頻開始播放?
- 是否是由
autoplay
引起的? - 是它造成通過調用JavaScript中
play()
? - 是它造成的播放按鈕用戶點擊?
我想處理表演事件僅由用戶操作(在上述三個第三種情況)造成。
我目前的解決方案:
function videoEventHandler(ev) {
var videoElem = ev.target;
if (!videoElem.controls) {
// no controls in video, means events can't be caused by user actions
return true;
}
switch (ev.type) {
case 'play':
if (videoElem.autoplay && !videoElem.hasPaused) {
// first play event in autoplay video, muse be caused by autoplay
return true;
}
// deal with play event caused by user actions
return true;
case 'pause':
ev.target.hasPaused = true;
// deal with pause event caused by user actions
return true;
}
}
問題:我的解決方案不能處理這些情況:
- 它不知道,如果一個表演事件造成的JavaScript調用
play()
- 它不知道,如果一個暫停事件造成視頻到達終點
請注意:我不能添加一個標誌上play()
,因爲它是所謂的網頁。網頁不是由我寫的,我無法改變它。 (我正在寫一個Chrome擴展)
誰能幫我在這?
這是一個非常具體的問題,它可能會產生混淆人。如果我的問題讓你感到困惑,請留下評論,我會盡力解釋清楚。讚賞。
如果網站提供了與視頻元素分開的自己的播放按鈕,該怎麼辦?這基本上是用戶操作,即使視頻是由play()代碼啓動的。 – wOxxOm
@wOxxOm你說得對。似乎對於每種情況都沒有完美的解決方案。我只想覆蓋大多數情況。 –