Prevents Youtube from keep playing videos in PiP/miniplayer
当前为
// ==UserScript==
// @name Disable Youtube PiP Miniplayer
// @namespace disableMPYTxFIRKx
// @description Prevents Youtube from keep playing videos in PiP/miniplayer
// @version 0.71
// @author xFIRKx
// @match http://*.youtube.com/*
// @match https://*.youtube.com/*
// @homepageURL https://greasyfork.org/it/scripts/493793-disable-youtube-pip-miniplayer
// @grant none
// ==/UserScript==
(function() {
// Remove miniplayer and its button when page navigation finishes
document.body.addEventListener("yt-navigate-finish", function(event) {
removeMiniplayer();
});
function removeMiniplayer() {
let miniplayer = document.querySelector('ytd-miniplayer');
if (miniplayer) {
miniplayer.parentNode.removeChild(miniplayer);
}
let miniplayerButton = document.querySelector('.ytp-miniplayer-button');
if (miniplayerButton) {
miniplayerButton.parentNode.removeChild(miniplayerButton);
}
}
// Pause and reset video/audio element when navigating to the miniplayer
window.onload = () => {
let bodyList = document.querySelector('body');
let observer = new MutationObserver(mutationsList => {
mutationsList.forEach(mutation => {
if (mutation.target.id === 'player-theater-container' && mutation.type === 'childList') {
// Pause and reset video/audio element
let videoElement = document.querySelector('#movie_player video');
if (videoElement) {
videoElement.pause();
videoElement.currentTime = 0;
}
let audioElement = document.querySelector('audio');
if (audioElement) {
audioElement.pause();
audioElement.currentTime = 0;
}
}
});
});
observer.observe(bodyList, { childList: true, subtree: true });
};
// Disable miniplayer play/pause button click functionality
document.addEventListener('click', function(event) {
if (event.target.closest('.ytp-miniplayer-button')) {
event.preventDefault(); // Prevent default click action
event.stopPropagation(); // Stop event propagation
console.log('Play/Pause functionality disabled on miniplayer');
}
}, true);
// Disable miniplayer play/pause keyboard shortcut functionality
document.addEventListener('keydown', function(event) {
let miniplayer = document.querySelector('ytd-miniplayer');
if (miniplayer && (event.code === 'Space' || event.code === 'ArrowRight' || event.code === 'ArrowLeft')) {
event.preventDefault(); // Prevent default keyboard shortcut action
event.stopPropagation(); // Stop event propagation
console.log('Keyboard shortcut disabled for miniplayer');
}
});
})();