No Animations

Clear all animations on all websites

Ajankohdalta 18.9.2023. Katso uusin versio.

// ==UserScript==
// @name        No Animations
// @namespace   No Animations Script
// @version     1.8
// @description Clear all animations on all websites
// @author      Nameniok
// @match       *://*/*
// @license     MIT
// @grant       GM_addStyle
// @grant       unsafeWindow
// ==/UserScript==
const isSameOrigin=t=>{let n=window.location.origin;return t.startsWith(n)},removeKeyframeAnimations=()=>{let t=Array.from(document.styleSheets);t.forEach(t=>{if(!t.href||isSameOrigin(t.href))try{let n=Array.from(t.cssRules);n.forEach(t=>{if(t.type===CSSRule.KEYFRAMES_RULE){let n=Array.from(t.cssRules);n.forEach(t=>{t.style.animation="none",t.style.animationName="none"})}})}catch(i){console.error("Error accessing CSS rules:",i)}})},removeAnimationsFromStyleRules=()=>{let t=Array.from(document.querySelectorAll("*"));t.forEach(t=>{let n=window.getComputedStyle(t);"none"!==n.getPropertyValue("animation")&&(t.style.animation="none",t.style.animationName="none")})},setEmptyKeyframesUsingInsertRule=()=>{let t=document.styleSheets;for(let n of t)if(!n.href||isSameOrigin(n.href))try{n.insertRule(`
          @keyframes emptyAnimation {
            from {}
            to {}
          }
        `,n.cssRules.length)}catch(i){console.error("Error inserting empty keyframes:",i)}},removeKeyframeAnimations2=()=>{let t=Array.from(document.styleSheets);t.forEach(t=>{if(!t.href||isSameOrigin(t.href))try{let n=Array.from(t.cssRules);n.forEach(t=>{if(t.type===CSSRule.KEYFRAMES_RULE){let n=Array.from(t.cssRules);n.forEach(t=>{t.style.animation="initial",t.style.animationName="initial"})}})}catch(i){console.error("Error accessing CSS rules:",i)}})},disableFadeInAnimations=()=>{let t=document.querySelectorAll("script");for(let n of t){let i=n.textContent||n.innerText;i.includes("fadeIn(")&&(n.textContent=i.replace(/fadeIn\([^)]*\)/g,"fadeIn(0)"))}},updateSpecificAnimations=()=>{let t=document.querySelectorAll("*");t.forEach(t=>{let n=window.getComputedStyle(t),i=n.getPropertyValue("transition");(i.includes("flex")||i.includes("filter"))&&(t.style.transition=i.replace(/flex[^,]*|filter[^,]*/g,"none"))})};GM_addStyle(`*{transition:none!important;transition-property:none!important;transition-duration:0!important;transition-timing-function:initial!important;-webkit-transition:none!important;animation-delay:none!important;animation-duration:none!important;-webkit-animation-delay:0!important;-webkit-animation-duration:0!important;-moz-animation-delay:0!important;-moz-animation-duration:0!important;-ms-animation-delay:0!important;-ms-animation-duration:0!important;filter:initial!important}::before,::after,::hover,::active{transition:none!important;transition-property:none!important;transition-duration:0!important;transition-timing-function:initial!important;-webkit-transition:none!important;animation-delay:none!important;animation-duration:none!important;-webkit-animation-delay:0!important;-webkit-animation-duration:0!important;-moz-animation-delay:0!important;-moz-animation-duration:0!important;-ms-animation-delay:0!important;-ms-animation-duration:0!important}:before,:after,:hover,:active{transition:none!important;transition-property:none!important;transition-duration:0!important;transition-timing-function:initial!important;-webkit-transition:none!important;animation-delay:none!important;animation-duration:none!important;-webkit-animation-delay:0!important;-webkit-animation-duration:0!important;-moz-animation-delay:0!important;-moz-animation-duration:0!important;-ms-animation-delay:0!important;-ms-animation-duration:0!important}img[src^="https://i.ytimg.com/an_webp/"]{display:none!important}img[src*="/hqdefault.jpg"]{display:initial!important}`);const blockedUrlPrefix="https://i.ytimg.com/an_webp/",blockImageLoading=t=>{let n=t.target.src||"";(n.startsWith("https://i.ytimg.com/an_webp/")||n.endsWith(".webp"))&&t.preventDefault()};unsafeWindow.addEventListener("beforeload",blockImageLoading,!0),removeKeyframeAnimations(),setEmptyKeyframesUsingInsertRule(),removeKeyframeAnimations2(),removeAnimationsFromStyleRules(),disableFadeInAnimations(),updateSpecificAnimations();