// ==UserScript== // @name Prime Video Ad Blocker [ESP] // @namespace https://greasyfork.org/en/users/5102-jeau // @version 0.1.3 // @description Skip Ads in Prime Video Spain. Adapted from RawMeatEater's script for spanish Amazon site. // @description:es Bloquea los anuncios en Prime Video España. Adaptado a partir del código de RawMeatEater para la web de Amazon España. // @author Jeau // @license MIT // @match https://www.primevideo.com/* // @icon https://m.media-amazon.com/images/G/01/digital/video/DVUI/favicons/favicon-32x32.png // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; // This value when true shows that the ad has been skipped var adSkipped = false; // Time delay to avoid temporary freezing of Amazon Web Player on first run setTimeout(function() { // Every 0.2 seconds, this function runs setInterval(function() { // Selects the video container's child (Which is the video element) if (document.getElementsByClassName("rendererContainer")[0]) { var video = document.getElementsByClassName("rendererContainer")[0].children[2]; // If Time To Skip element exist if ( document.getElementsByClassName("atvwebplayersdk-adtimeindicator-text")[0] ){ // Has it been skipped aready? (This is so that way you don't skip forward twice) if ( adSkipped == false ) { // Grabs the ad timer in HH:MM:SS format and splits it into an array var currentAdTime = document.getElementsByClassName("atvwebplayersdk-adtimeindicator-text")[0].innerHTML.split(':'); // Calculate the Ad time in seconds var adTimeInSecs = 0; for (let i = 0; i < currentAdTime.length; i++) { adTimeInSecs += parseInt(currentAdTime[i]) * Math.pow(60, currentAdTime.length - 1 - i); } // It then skipped forward the video by how much ad time the timer shows video.currentTime = video.currentTime + adTimeInSecs; // Shows that the ad has been skipped adSkipped = true; } } else { // When ad timer disappers, reset the ad skip value adSkipped = false; } } // When 200 milliseconds pass, execute script }, 200); }, 1000); })();