// ==UserScript== // @name Prime Video Sólo Contenido Prime [ESP] // @namespace http://tampermonkey.net/ // @version 0.2.5 // @description Oculta las secciones de compra o alquiler en la portada de Amazon Prime Video España. // @author Jeau // @license MIT // @match https://*.primevideo.com/ // @match https://*.primevideo.com/storefront/* // @match https://*.primevideo.com/genre/* // @icon https://m.media-amazon.com/images/G/01/digital/video/DVUI/favicons/favicon-32x32.png // @require https://code.jquery.com/jquery-latest.min.js // @grant none // @run-at document-end // @downloadURL none // ==/UserScript== (function() { 'use strict'; // Script won't work on 'store' pages if (location.href.includes('contentId=store')) { return; } // Hide every carousel with payment requirement $('article[data-testid="card"]').each(function() { if ($(this).find('span').filter(':contains("ompra"), :contains("alquiler"), :contains("gratis"), :contains("uscribir")').length) { if (this.closest('section[data-testid]')) { let carousel = this.closest('section[data-testid]'); if ($(carousel).find('span[data-testid="carousel-title"]').length) { let carouselTitle = $(carousel).find('span[data-testid="carousel-title"]')[0].firstElementChild.innerText.toUpperCase(); // Case: Keep Watching if (carouselTitle.includes('SEGUIR VIENDO')) { $(this).css('display', 'none'); } else { $(carousel).parent().css('display', 'none'); return true; } } else { $(carousel).parent().css('display', 'none'); return true; } } } }); // Dinamically check any new node added to the webpage function checkNewNode(n) { // Hide subscription carousels if (n.tagName == 'DIV') { if ($(n).find('span').filter(':contains("ompra"), :contains("alquiler"), :contains("gratis"), :contains("uscribir")').length) { $(n).find('span').filter(':contains("ompra"), :contains("alquiler"), :contains("gratis"), :contains("uscribir")').each(function() { try { let carousel; if (this.closest('section[data-testid="standard-carousel"]')) { carousel = this.closest('section[data-testid="standard-carousel"]').closest('div[class]'); $(carousel).parent().css('display', 'none'); return true; } else if (this.closest('section[data-testid="nodes-carousel"]')) { carousel = this.closest('section[data-testid="nodes-carousel"]'); $(carousel).parent().css('display', 'none'); return true; } } catch(e) { console.log('\n\n\n'); console.log('Error userscript "Mostrar Sólo Prime" (MutationObserver) !!!!'); console.log('Estructura no reconocida en el siguiente elemento:'); console.log(n); console.log('\n\n\n'); } }); } } // Hide subscription cards from "New on shopping" section if (n.tagName == 'SECTION') { if ($(n).find('span').filter(':contains("ompra"), :contains("alquiler"), :contains("gratis"), :contains("uscribir")').length) { let card1 = $(n).find('span').filter(':contains("ompra"), :contains("alquiler"), :contains("gratis"), :contains("uscribir")')[0]; if ($(card1).closest('section[data-testid="cover-container"]').length) { $(card1).closest('section[data-testid="cover-container"]').css('display', 'none'); return true; } } } } // Declaration of Mutation observer let observer = new MutationObserver((mutations) => { for (const { addedNodes } of mutations) { for (const n of addedNodes) { if (n.tagName) { checkNewNode(n); } } } }); observer.observe(document, { subtree: true, childList: true, characterData: false }); })();