Oculta las secciones de compra o alquiler en la portada de Amazon Prime Video España.
当前为
// ==UserScript==
// @name Prime Video Sólo Contenido Prime [ESP]
// @namespace http://tampermonkey.net/
// @version 0.2.8
// @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/*
// @match https://*.primevideo.com/storefront
// @match https://*.primevideo.com/storefront/*
// @match https://*.primevideo.com/region/eu/storefront
// @match https://*.primevideo.com/region/eu/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
// ==/UserScript==
(function() {
'use strict';
// Script won't work on 'store' pages
if (location.href.includes('contentId=store')) return;
if (location.href.includes('addons')) return;
if (location.href.includes('livetv')) 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).find('div[data-testid="card-overlay"]').find('svg').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('div[data-testid="card-overlay"]').find('svg').length) {
$(n).find('div[data-testid="card-overlay"]').find('svg').each(function() {
try {
let carousel;
if (this.closest('section[data-testid="standard-carousel"]')) {
carousel = this.closest('section[data-testid="standard-carousel"]').closest('div[class]');
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;
}
}
// $(carousel).parent().css('display', 'none');
// return true;
} else if (this.closest('section[data-testid="nodes-carousel"]')) {
carousel = this.closest('section[data-testid="nodes-carousel"]');
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;
}
}
// $(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('div[data-testid="card-overlay"]').find('svg').length) {
let card1 = $(n).find('div[data-testid="card-overlay"]').find('svg')[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
});
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址