#94 Detect player and resume video
This commit is contained in:
parent
9ada3dbee6
commit
4099841d4b
|
@ -2,6 +2,7 @@ import * as core from '../utils/aniwatchCore';
|
|||
import * as helper from '../utils/helpers';
|
||||
|
||||
const SCREENSHOT_TOOLTIP_ID = 'anilyr-screenshots-tooltip';
|
||||
const PLAYER_ID = 'player';
|
||||
|
||||
export function init() {
|
||||
core.registerScript(node => {
|
||||
|
@ -15,8 +16,11 @@ function observeScreenshotTooltip(tooltip) {
|
|||
let observer = new MutationObserver(mutations => {
|
||||
mutations.forEach(mutation => {
|
||||
// Switched to invisible
|
||||
if(!mutation.oldValue.includes('display: none') && mutation.target.style.display == 'none') {
|
||||
console.log('SCREENSHOT TOOLTIP CLOSED');
|
||||
if (!mutation.oldValue.includes('display: none') && mutation.target.style.display == 'none') {
|
||||
let player = findPlayer();
|
||||
if(typeof player !== 'undefined'){
|
||||
resumePlayer(player);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -24,6 +28,21 @@ function observeScreenshotTooltip(tooltip) {
|
|||
observer.observe(tooltip, {
|
||||
attributes: true,
|
||||
attributeOldValue: true,
|
||||
attributeFilter: ['style'],
|
||||
attributeFilter: ['style'],
|
||||
});
|
||||
}
|
||||
|
||||
function findPlayer() {
|
||||
const PLAYER_TAG_NAME = 'VIDEO'; // tagName gives UpperCase
|
||||
|
||||
let playerCandidate = document.getElementById(PLAYER_ID);
|
||||
if (playerCandidate.tagName === PLAYER_TAG_NAME) {
|
||||
return playerCandidate;
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function resumePlayer(player) {
|
||||
player.play();
|
||||
}
|
Loading…
Reference in a new issue