// ==UserScript== // @name Rock Paper Shotgun [RPS] & Eurogamer embed fix // @version 7 // @description Enable embedded third party content on RPS & Eurogamer despite having rejected cookies // @author Tim Smith // @license GPL-3.0 License // @namespace https://greasyfork.org/users/945293 // @match *://www.rockpapershotgun.com/* // @match *://www.eurogamer.net/* // @icon https://www.google.com/s2/favicons?sz=64&domain=rockpapershotgun.com // @downloadURL none // ==/UserScript== (function() { function dashStyle(camelCase) { return camelCase.replaceAll(/[A-Z]/g, letter => `-${letter.toLowerCase()}`); } const sources = [ ['iframe', 'src', 'embed.acast.com'], ['script', 'src', 'apester.com'], ['iframe', 'src', 'bandcamp.com'], ['iframe', 'src', 'efmfeedback.com'], ['iframe', 'src', 'docs.google.com'], ['iframe', 'src', 'gfycat.com'], ['iframe', 'src', 'giphy.com'], ['iframe', 'src', 'libsyn.com'], ['iframe', 'src', 'megaphone.fm'], ['script', 'cookiesSrc', 'primis.tech'], ['iframe', 'src', 'redditmedia.com'], ['iframe', 'src', 'soundcloud.com'], ['iframe', 'src', 'spotify.com'], ['iframe', 'src', 'twitch.tv'], ['iframe', 'src', 'youtube'] ]; const selectors = sources.map(source => `${source[0]}[data-${dashStyle(source[1])}*="${source[2]}"]`); document.querySelectorAll(selectors.join()).forEach(element => { const source = sources.find(source => source[1] in element.dataset && element.dataset[source[1]].includes(source[2])); element.src = element.dataset[source[1]]; }); if (document.querySelector('blockquote.twitter-tweet') !== null) { const widgetScript = document.createElement('script'); widgetScript.async = true; widgetScript.src = 'https://platform.twitter.com/widgets.js'; widgetScript.charset = 'utf-8'; document.head.appendChild(widgetScript); } })();