您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Image hover for gurochan
// ==UserScript== // @name gurochan - image hover // @match https://boards.guro.cx/* // @grant none // @version 1.0 // @author - // @grant GM_addStyle // @description Image hover for gurochan // @namespace https://greasyfork.org/users/1292388 // ==/UserScript== let img = document.createElement('img') img.id = 'hoverImage' document['body'].append(img) document.addEventListener('mouseover', function(event) { if (event.target.classList.contains('post-image')) { document.getElementById('hoverImage').classList.add('active'); img.src = event.target.parentNode.href } }); document.addEventListener('mouseout', function(event) { if (event.target.classList.contains('post-image')) { document.getElementById('hoverImage').classList.remove('active'); img.src = '' } }); document.addEventListener('mousemove', (e) => { const targetX = e.clientX+20 const targetY = e.clientY/2 const scrollbarWidth = 18 if (targetX + img.offsetWidth > (window.innerWidth - scrollbarWidth)) { img.style.left = (window.innerWidth - img.offsetWidth - scrollbarWidth) + 'px'; } else { img.style.left = targetX + 'px'; } if (targetY + img.offsetHeight > window.innerHeight) { img.style.top = (window.innerHeight - img.offsetHeight) + 'px'; } else { img.style.top = targetY + 'px'; } }); GM_addStyle(` #hoverImage { position: fixed; pointer-events: none; max-width: 100vw; max-height: 100vh; z-index: 1000; } #hoverImage:not(.active) { display: none; } `)