您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Replaces one random link with a screamer
// ==UserScript== // @name Spookify // @namespace ccn0 // @version U1S1.03 // @description Replaces one random link with a screamer // @author CCN0 // @license GPL3 // @match *://*/* // @icon https://ccn0.github.io/img/spooky/smilegirl32icon.png // @grant none // ==/UserScript== (function() { const spookyList = [ ["https://media1.tenor.com/m/So59sDcNM4wAAAAC/fnaf-chica.gif","https://ccn0.github.io/img/audio/plus/fnaf4jumpscare.mp3"], ["https://media1.tenor.com/m/ZO1_WS7f-4YAAAAC/fnaf-freddy.gif","https://ccn0.github.io/img/audio/plus/fnaf1jumpscare.mp3"], ["https://media.tenor.com/aHR1ThFfmE4AAAAi/fnaf.gif","https://ccn0.github.io/img/audio/plus/fnaf2jumpscare.mp3"], ["https://media.tenor.com/E_HSK33-xokAAAAi/fnaf-bunny.gif","https://ccn0.github.io/img/audio/plus/fnaf3jumpscare.mp3"], ["https://ccn0.github.io/img/spooky/smilegirl.png","https://ccn0.github.io/img/audio/plus/funandlaughing.mp3"], ["https://ccn0.github.io/img/spooky/spookyhillman.gif","https://ccn0.github.io/img/audio/plus/cardrivinghills.mp3"], ["https://ccn0.github.io/img/spooky/niceman24kbfile.png","https://ccn0.github.io/img/audio/plus/southparkbestofcousinelvin.mp3"], ]; const chosenScare = spookyList[Math.floor(spookyList.length * Math.random())]; const spookySound = new Audio(); spookySound.src = chosenScare[1]; spookySound.preload = 'auto'; const spookyPhoto = chosenScare[0]; const spookElem = document.createElement('img'); spookElem.style.display = 'none'; spookElem.src = spookyPhoto; spookElem.style.width = '100%'; spookElem.style.height = '100vh'; spookElem.style.position = 'fixed'; spookElem.style.top = '0'; spookElem.style.left = '0'; document.body.appendChild(spookElem); const links = document.querySelectorAll('a'); if (links.length === 0) return; const chosenLink = Math.floor(links.length * Math.random()); const originalDestination = links[chosenLink].href; function scare() { return new Promise((resolve) => { spookySound.volume = 1; spookySound.play(); spookElem.style.display = 'block'; spookySound.addEventListener('ended', () => { spookElem.style.display = 'none'; resolve(); }); }); }; function finale() { spookElem.style.display = 'none'; location.href = originalDestination; }; console.log(links[chosenLink].textContent); links[chosenLink].classList.add('spooky'); links[chosenLink].setAttribute('title',links[chosenLink].href); links[chosenLink].removeAttribute('href'); links[chosenLink].addEventListener('mousedown',(e)=>{ console.log(e.button) switch (e.button) { case 0: scare().then(finale); break; case 1: e.preventDefault(); scare(); window.open(originalDestination, "_blank"); break; default: break; } }); const css = ` @keyframes rapidColorChange { 0% { opacity: 1; } 10% { opacity: 0; } 14% { opacity: 1; } 19% { opacity: 0; } 28% { opacity: 1; } 36% { opacity: 0; } 43% { opacity: 1; } 52% { opacity: 0; } 57% { opacity: 1; } 62% { opacity: 0; } 64% { opacity: 1; } 69% { opacity: 0; } 78% { opacity: 1; } 81% { opacity: 0; } 89% { opacity: 1; } 94% { opacity: 0; } 97% { opacity: 1; } 99% { opacity: 0; } } .spooky { animation: rapidColorChange 10s infinite; cursor: grab; &:active { cursor: grabbing; } } `; const style = document.createElement('style'); style.innerHTML = css; document.head.appendChild(style); })();