AcFun Autoplay & FullScreen
// ==UserScript==
// @name A站 自动播放 & 网页全屏
// @version 0.11
// @description AcFun Autoplay & FullScreen
// @author Erimus
// @include http*://*acfun.cn/v/ac*
// @grant none
// @namespace https://greasyfork.org/users/46393
// ==/UserScript==
(function() {
'use strict';
console.log('=== autoplay & fullscreen')
// 把是否在播放的判断条件改为计数。
// 防止网络不好长时间Loading,出现播了一点,判断为已播放,其实暂停了的情况。
let playing = 0
// 现在是折中的方法,只判断3次,防止Loading造成的暂停。
// 但是1.5秒内用户点击暂停后,会继续播放。
let play_count_limit = 3
let fullscreen = false
let main = setInterval(function() {
if (!fullscreen) {
// find full screen button
let fullScreenBtn = document.querySelector('.fullscreen-web')
console.log('=== Full Screen Button:', fullScreenBtn)
if (fullScreenBtn) {
// check fullscreen status
let closed = fullScreenBtn.querySelector('.btn-span').getAttribute('data-bind-attr')
console.log('=== Closed:', closed)
// alert(1)
if (closed=='web') {
console.log('=== fullscreen OK')
fullscreen = true
} else {
fullScreenBtn.click()
}
}
}
if (playing < play_count_limit) {
// find start button on player area bottom
let playBtn = document.querySelector('.btn-play');
console.log('=== Play Button:', playBtn)
if (playBtn) {
// check play status
let check = playBtn.querySelector('.btn-span').getAttribute('data-bind-attr')
console.log('=== Playing check:', check)
if (check=='play') {
playing++
console.log('=== playing', playing)
} else {
playBtn.click()
}
}
}
if (playing >= play_count_limit && fullscreen) {
console.log('=== quit loop')
clearInterval(main)
}
}, 200);
})();