您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Browse screenshots without browser history entries
// ==UserScript== // @name MobyGames screenshot carousel // @version 1.0 // @description Browse screenshots without browser history entries // @author raina // @license GPLv3 // @namespace raina // @match https://www.mobygames.com/game/*/*/screenshots/gameShotId,* // @grant none // ==/UserScript== (function() { const wrapper = document.getElementById(`wrapper`); let prev, next; const flipPage = function(ev) { let href = ev.currentTarget.href; if (ev.shiftKey || ev.ctrlKey) return true; ev.preventDefault(); if (/#$/.test(href)) return false; fetch(href) .then(response => response.text()) .then(content => { history.replaceState({}, ``, href); content = content.replace(/.*<div id="wrapper"[^\n]*>/s, ``).replace(/<\/div>\s*<div id="footer.*/s, ``); wrapper.innerHTML = content; rigClicks(); }); }; const rigClicks = function() { prev = document.querySelector(`li.previous a`); next = document.querySelector(`li.next a`); [prev, next].forEach(butt => butt.addEventListener("click", flipPage)); }; rigClicks(); addEventListener("keyup", ev => { if ("ArrowLeft" != ev.key && "ArrowRight" != ev.key) return true; let click = new MouseEvent("click", {button: 0, cancelable: true}); if ("ArrowLeft" == ev.key) prev.dispatchEvent(click); else next.dispatchEvent(click); }); }());