block vrb ads to other sites via removing the grandparent elements of divs with the class 'video-item-preview --no-video' from the page.
// ==UserScript==
// @name Block Ads
// @namespace Violentmonkey Scripts
// @match *://vrbangers.com/*
// @grant none
// @version 1.0
// @author -
// @description block vrb ads to other sites via removing the grandparent elements of divs with the class 'video-item-preview --no-video' from the page.
// @run-at document-end
// ==/UserScript==
(function() {
'use strict';
function removeNoVideoPreviews() {
const elements = document.querySelectorAll('.video-item-preview.--no-video');
elements.forEach(element => {
const grandparent = element.parentElement?.parentElement;
if (grandparent) {
grandparent.remove();
}
});
}
function observePage() {
const target = document.body;
if (target) {
const observer = new MutationObserver((mutations) => {
mutations.forEach(mutation => {
mutation.addedNodes.forEach(node => {
if (node.nodeType === 1 && node.matches('.video-item-preview.--no-video')) {
const grandparent = node.parentElement?.parentElement;
if (grandparent) {
grandparent.remove();
}
}
});
});
});
observer.observe(target, { childList: true, subtree: true });
}
}
// Initial removal on page load
removeNoVideoPreviews();
// Observe dynamic content loading and remove matching elements' grandparents
observePage();
})();