您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Automatically sets Redgifs to HD and unmutes when viewed directly or on Reddit. Inspired by "betterRedgifs" by u/MatthieuG7.
当前为
// ==UserScript== // @name Redgifs++ // @version 1.0 // @license AGPLv3 // @author midnightarousal93 // @description Automatically sets Redgifs to HD and unmutes when viewed directly or on Reddit. Inspired by "betterRedgifs" by u/MatthieuG7. // @match https://www.redgifs.com/ifr/* // @match https://www.redgifs.com/watch/* // @match https://old.reddit.com/* // @match https://www.reddit.com/* // @grant none // @namespace https://greasyfork.org/users/1073886 // ==/UserScript== if (window.location.href.includes("redgifs.com")) { const click = (elm) => { const evt = document.createEvent('MouseEvents'); evt.initMouseEvent('click', true, true, window, 0, 1, 1, 1, 1, false, false, false, false, 0, null); elm.dispatchEvent(evt); } const hdInterval = setInterval(() => { const gear = document.querySelector(".gear"); if (gear) { if (gear.parentNode.childNodes[1].outerText == "SD") { click(gear); return clearInterval(hdInterval); } else if (gear.parentNode.childNodes[1].outerText == "HD") { return clearInterval(hdInterval); } } const sd = document.querySelector(".sd"); if (sd) { click(sd); return clearInterval(hdInterval); } const hd = document.querySelector(".hd"); if (hd) { return clearInterval(hdInterval); } }, 100) function unmute() { if (!this.unmuted) { this.unmuted = true const unmuteInterval = setInterval(() => { const soundOff = document.querySelector(".soundOff"); if (soundOff) { click(soundOff); return clearInterval(unmuteInterval); } const video = document.querySelector(".embeddedPlayer video"); if (video && video.muted === true) { video.muted = false; return clearInterval(unmuteInterval); } }, 100) } } if (window.top === window.self) { unmute(); } else { window.addEventListener("message", function(event) { if (event.data.unmuteRedgifs) { unmute(); } }, false); } } else if (window.location.href.includes("old.reddit.com")) { setInterval(() => { const iframes = document.getElementsByTagName("iframe"); for(let i = 0; i < iframes.length; i++) { iframes[i].contentWindow.postMessage({ unmuteRedgifs: true }, "*"); } }, 500) } else if (window.location.href.includes("www.reddit.com")) { setInterval(() => { const content = document.querySelectorAll('[data-test-id="post-content"]'); if (content.length > 0) { const iframes = content[0].getElementsByTagName("iframe"); for (let i = 0; i < iframes.length; i++) { iframes[i].contentWindow.postMessage({ unmuteRedgifs: true }, "*"); } } }, 500) }