Skip Ads in Prime Video.
当前为
// ==UserScript==
// @name Prime Video Ad Blocker [ESP]
// @namespace https://greasyfork.org/en/users/5102-jeau
// @version 0.2.5.1
// @description Skip Ads in Prime Video.
// @description:es Bloquea los anuncios en Prime Video.
// @author Jeau
// @license MIT
// @match https://*.amazon.co.jp/Amazon-Video/*
// @match https://*.amazon.co.uk/Amazon-Video/*
// @match https://*.amazon.com/Amazon-Video/*
// @match https://*.amazon.de/Amazon-Video/*
// @match https://*.primevideo.com/*
// @icon https://m.media-amazon.com/images/G/01/digital/video/DVUI/favicons/favicon-32x32.png
// @grant none
// ==/UserScript==
/*
-----------------------------------------------------------------------------------
Adapted for spanish Amazon site. It might also work on other countries.
Based on RawMeatEater's script:
https://greasyfork.org/es/scripts/446723-amazon-video-ad-blocker
-----------------------------------------------------------------------------------
*/
(function() {
'use strict';
// This value when true shows that the Ad has been skipped
var adSkipped = false;
setInterval(function() {
var video;
var renderer = document.getElementsByClassName("rendererContainer")[0];
if (renderer) {
video = renderer.querySelector('video');
}
var adTimeElement = document.getElementsByClassName("atvwebplayersdk-adtimeindicator-text")[0];
// If video started playing and a 'Time to Skip' element is detected
if (video && video.currentTime && adTimeElement) {
var adTimeRegExp = /(\d?\d:){0,2}\d?\d/;
// Has it been skipped aready? (To be sure that you don't skip forward twice)
if (adSkipped == false && adTimeRegExp.test(adTimeElement.innerHTML)) {
// Grab the Ad timer in HH:MM:SS format and split it into an array as soon as it is detected
var currentAdTime = adTimeElement.innerHTML.match(adTimeRegExp)[0].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);
}
// Forward the video by how much Ad time the timer shows
video.currentTime += adTimeInSecs;
// Mark the Ad as skipped
adSkipped = true;
}
} else {
// When Ad timer disappers, reset the Ad skip value
adSkipped = false;
}
}, 200);
})();