您需要先安装一个扩展,例如 篡改猴、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);
- })();