[英]visibility back to 'visible' : video auto-play only if was not on pause before
當可見性更改為隱藏時,我可以暫停視頻,而可見性恢復到可見時,可以播放視頻。 像那樣 :
var userManuallyPause = false;
var video = document.getElementById('video');
var documentTitle = document.title;
var updateTitleForVideo = function(state){
if (state === '') {
document.title = documentTitle;
return;
};
document.title = documentTitle + ' [' + state + ']';
};
video.onpause = function(){
userManuallyPause = true;
updateTitleForVideo('Paused');
};
video.onplay = function(){
updateTitleForVideo('');
};
document.addEventListener('visibilitychange', function(){
var state = document.visibilityState;
if (!video.paused) {
if (state === 'hidden') {
video.pause();
userManuallyPause = false;
updateTitleForVideo('Paused');
}
}
else if (state === 'visible' && !userManuallyPause) { video.play(); }
});
但是,如果視頻在可見性變為隱藏狀態之前已經暫停,那么我不希望在返回可見狀態時播放視頻。
那可能嗎 ? 我不確定。
您可以將其存儲在變量中,例如var userManuallyPause = false
,如果用戶自己將其暫停,則可以將該變量設置為true。 用戶取消暫停時,可以將其設置回false。
然后在上面的代碼中,添加對
if (!userManuallyPause) { ... }
它應該按預期運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.