查找所有视频元素
js
const videos = document.querySelectorAll('video'); //查找所有视频元素
// 遍历视频
videos.forEach(video => {
// 这里写视频逻辑
});
查找单个视频元素
const video = document.querySelector("video");
假设找到视频元素后并赋值给了video变量,并操作视频:
js
video.muted = true; // 静音
// 开始播放
video.play().then(() => {
console.log('视频播放成功');
}).catch(error => {
console.error('视频播放失败:', error.message);
});
// 监听视频播暂停
video.addEventListener('pause', function() {
console.log('视频播放完毕,请编写下一步操作');
});
// 监听视频播结束
video.addEventListener('ended', function() {
console.log('视频播放完毕,请编写下一步操作');
});
屏蔽视频播放的切换检测
js
// 下面是屏蔽网页的后台播放检测代码
// 拦截和修改 document.hidden 和 document.visibilityState
Object.defineProperty(document, 'hidden', {
configurable: true,
get: function() {
return false;
}
});
Object.defineProperty(document, 'visibilityState', {
configurable: true,
get: function() {
return 'visible';
}
});
// 拦截和修改 document.addEventListener
const originalAddEventListener = document.addEventListener;
document.addEventListener = function(type, listener, options) {
if (type === 'visibilitychange' || type === 'blur') {
console.log(`拦截事件: ${type}`);
return;
}
return originalAddEventListener.call(document, type, listener, options);
};
// 拦截和修改 window.addEventListener
const originalWindowAddEventListener = window.addEventListener;
window.addEventListener = function(type, listener, options) {
if (type === 'blur') {
console.log(`拦截事件: ${type}`);
return;
}
return originalWindowAddEventListener.call(window, type, listener, options);
};
// 屏蔽网页的后台播放检测代码结束