您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Skip Ads and self Promotionals in Prime Video.
- // ==UserScript==
- // @name Prime Video Ad Blocker [ESP]
- // @name:es Prime Video Ad Blocker [ESP]
- // @namespace https://greasyfork.org/en/users/5102-jeau
- // @version 0.3.1
- // @description Skip Ads and self Promotionals in Prime Video.
- // @description:es Bloquea los anuncios y promociones 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://*.amazon.com/*instant-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 Amazon Prime Video Spain 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;
- // Time pattern
- var adTimeRegExp = /(\d?\d:){0,2}\d?\d/;
- setInterval(function() {
- var video;
- var adTime;
- // In case of multiple video elements look for the one which is currently playing
- var renderers = document.getElementsByClassName("rendererContainer");
- if (renderers.length) {
- for (let i = renderers.length - 1; i >= 0; i--) {
- video = renderers[i].querySelector('video');
- if (video && video.currentTime) break;
- }
- }
- var promoTimeElement = document.getElementsByClassName("atvwebplayersdk-adtimeindicator-text")[0];
- var adTimeElement = document.getElementsByClassName("atvwebplayersdk-ad-timer-remaining-time")[0];
- // When detected stores the ad time in adTime
- if (adTimeElement && adTimeRegExp.test(adTimeElement.innerHTML)) adTime = adTimeElement;
- if (promoTimeElement && adTimeRegExp.test(promoTimeElement.innerHTML)) adTime = promoTimeElement;
- // If video started playing and a 'Time to Skip' element is detected
- if (video && video.currentTime && adTime) {
- // Has it been skipped aready? (To be sure that you don't skip forward twice)
- if (adSkipped == false) {
- // Grab the Ad timer in HH:MM:SS format and split it into an array as soon as it is detected
- var currentAdTime = adTime.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;
- // DEBUG
- console.log('=====================');
- console.log('.');
- console.log('PRIME VIDEO AD SKIPPED !!!');
- console.log('.');
- console.log('=====================');
- }
- } else {
- // When Ad timer disappers, reset the Ad skip value
- adSkipped = false;
- }
- }, 200);
- })();