Blocks rickroll videos on YT
// ==UserScript==
// @name AntiRickRoll
// @version 1.2
// @description Blocks rickroll videos on YT
// @author stijnb1234
// @license GNU GPLv3; https://choosealicense.com/licenses/gpl-3.0/
// @match *://www.youtube.com/watch?v=iik25wqIuFo*
// @match *://www.youtube.com/watch?v=oHg5SJYRHA0*
// @match *://www.youtube.com/watch?v=dQw4w9WgXcQ*
// @match *://www.youtube.com/watch?v=xvFZjo5PgG0*
// @match *://www.youtube.com/watch?v=ERdv8aKaDiU*
// @match *://www.youtube.com/watch?v=ZXpThNX9IRc*
// @grant none
// @run-at document-start
// @namespace https://greasyfork.org/users/1307578
// ==/UserScript==
(function() {
'use strict';
// Function to block video before it starts playing
function blockVideoBeforeStart() {
var loadCheckInterval = setInterval(function() {
var video = document.querySelector('video');
if (video && video.readyState === 4) {
clearInterval(loadCheckInterval);
// Remove the video container and its parent
var videoContainer = document.querySelector('.html5-video-container');
if (videoContainer && videoContainer.parentNode) {
videoContainer.parentNode.removeChild(videoContainer);
if (videoContainer.parentNode.parentNode) {
videoContainer.parentNode.parentNode.removeChild(videoContainer.parentNode);
}
}
// Mute the audio associated with the video
var audio = document.querySelector('audio');
if (audio) {
audio.muted = true;
}
}
}, 100);
}
blockVideoBeforeStart();
// Function to display message after a delay
function displayMessage() {
// Hide page after delay
setTimeout(function() {
document.body.innerHTML = '';
}, 250);
// Show a custom message on the page after delay
setTimeout(function() {
alert('RICKROLL BLOCKED\nDisable this script to continue');
}, 500);
}
displayMessage();
})();