您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
tweaks redgifs embed/iframe video
当前为
// ==UserScript== // @name Redgifs Embed Tweaks // @namespace https://greasyfork.org/pt-BR/users/821661 // @match https://www.redgifs.com/ifr/* // @grant GM_registerMenuCommand // @grant GM_setValue // @grant GM_getValue // @version 0.2 // @author hdyzen // @description tweaks redgifs embed/iframe video // @license MIT // ==/UserScript== (function () { 'use strict'; // Autoplay state const autoplay = GM_getValue('autoplay', true); // Open state const openLink = GM_getValue('openlink', false); // Autoplay toggle function autoplayToggle() { GM_setValue('autoplay', !autoplay); location.reload(); } // Open link when click on video function openLinkToggle() { GM_setValue('openlink', !openLink); location.reload(); } // Prevent opening video link if (!openLink) { document.addEventListener('click', (e) => { if (!e.target.closest('.videoLink')) return; e.preventDefault(); }); } // Menu commands (function menuCommands() { // Autoplay const commandAutoplay = GM_registerMenuCommand('Autoplay: ON', autoplayToggle, { title: 'Click for toggle', }); if (!autoplay) { GM_registerMenuCommand('Autoplay: OFF', autoplayToggle, { title: 'Click for toggle', id: commandAutoplay, }); } // Open link const commandLink = GM_registerMenuCommand('Open link when click: OFF', openLinkToggle, { title: 'Click for toggle', }); if (openLink) { GM_registerMenuCommand('Open link when click: ON', openLinkToggle, { title: 'Click for toggle', id: commandLink, }); } })(); // Mutation observer for pause video if (!autoplay) { const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'childList' && mutation.target.classList.contains('routeWrapper')) { mutation.addedNodes.forEach((node) => { const video = node.querySelector('.videoLink video'); if (video) { video.removeAttribute('autoplay'); observer.disconnect(); } }); } }); }); observer.observe(document.body, { childList: true, subtree: true, }); } })();