Detects and removes Ytapptos (youtube video embed ads) ad layers from JWPlayer
// ==UserScript==
// @name JWPlayer Ad Blocker
// @namespace Violentmonkey Scripts
// @version 1.0
// @description Detects and removes Ytapptos (youtube video embed ads) ad layers from JWPlayer
// @license MIT
// @author Closery
// @homepage https://gist.github.com/Closery/1eaf0b41be493ede4fc4f7710defa2d7
// @match *://*/*
// @exclude *://*.youtube.com/*
// @exclude *://*.google.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const cleanAd = setInterval(() => {
// look for ad layer
const adLayer = document.querySelector('div[id^="div_Ytapptos_"]');
const isPlayerExist = typeof window.jwplayer === 'function';
if (adLayer && isPlayerExist) {
adLayer.remove();
console.log("JWPlayer Ad Blocker: Ad layer detected and removed.");
try {
const player = window.jwplayer();
if (player.getState() !== 'playing') {
player.trigger('adSkipped');
player.trigger('adComplete');
}
clearInterval(cleanAd);
console.log("JWPlayer Ad Blocker: JWPlayer başarıyla başlatıldı.");
}
catch (error) {
console.warn("JWPlayer Ad Blocker: JWPlayer API'sine erişilemedi.");
}
}
}, 500);
// Fail-safe: stop the loop no matter what after 5 seconds
setTimeout(() => {
clearInterval(cleanAd);
}, 5000);
})();