您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Fixes CoolRom.com.au to allow downloads of restricted titles while also improving the browsing experiece on Javascript-disabled browsers.
// ==UserScript== // @name CoolRom but Cooler // @description Fixes CoolRom.com.au to allow downloads of restricted titles while also improving the browsing experiece on Javascript-disabled browsers. // @version 1.2.1 // @author SkauOfArcadia // @homepage https://skau.neocities.org/ // @contactURL https://t.me/SkauOfArcadia // @match *://coolrom.com/* // @match *://coolrom.com.au/* // @run-at document-start // @grant none // @namespace https://greasyfork.org/users/751327 // ==/UserScript== /** * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ window.addEventListener("DOMContentLoaded", function() { if (location.pathname.indexOf('dlpop.php') > -1) { unsafeWindow.time = "0"; } else if (location.pathname.indexOf('/roms/') > -1 || location.pathname.indexOf('/emulators/') > -1) { var romId = parseInt(location.pathname.split('/')[3].match(/\d+/), 10); var romDl = '/dlpop.php?id=' + romId; var romQueue = '/queue.php?act=add&id=' + romId; if (location.pathname.indexOf('/emulators/') > -1) { romDl = romDl + '&emu=nm' } var stringDl = 'Download Now'; var stringQueue = 'Add to Queue'; var stringMid = 'OR'; var romTable = document.createElement('table'); romTable.setAttribute('style', 'border:1px #000000 solid;padding-top:5px;'); romTable.setAttribute('width', '300'); romTable.setAttribute('height', '26'); romTable.setAttribute('cellspacing', '0'); romTable.setAttribute('cellpadding', '3'); romTable.setAttribute('border', '0'); romTable.setAttribute('bgcolor', '#333333'); var romTbody = document.createElement('tbody'); romTable.appendChild(romTbody); var romTr = document.createElement('tr'); romTbody.appendChild(romTr); var dlTd = document.createElement('td'); dlTd.setAttribute('valign', 'top'); dlTd.setAttribute('align', 'center'); romTr.appendChild(dlTd); var dlLink = document.createElement('a'); dlLink.setAttribute('href', romDl); dlLink.setAttribute('title', stringDl); dlLink.setAttribute('target', '_blank'); dlTd.appendChild(dlLink); var dlImg = document.createElement('img'); dlImg.setAttribute('src', '/images/download_large.png'); dlImg.setAttribute('width', '25'); dlImg.setAttribute('height', '25'); dlImg.setAttribute('border', '0'); dlLink.appendChild(dlImg); var dlBreak = document.createElement('br'); dlLink.appendChild(dlBreak); var dlFont = document.createElement('font'); dlFont.setAttribute('size', '2'); dlLink.appendChild(dlFont); var dlBold = document.createElement('b'); dlFont.appendChild(dlBold); var dlText = document.createTextNode(stringDl); dlBold.appendChild(dlText); if (location.pathname.indexOf('/roms/') > -1) { var midTd = document.createElement('td'); midTd.setAttribute('align', 'center'); romTr.appendChild(midTd); var midBold = document.createElement('b'); midTd.appendChild(midBold); var midText = document.createTextNode(stringMid) midBold.appendChild(midText); var queueTd = document.createElement('td'); queueTd.setAttribute('valign', 'top'); queueTd.setAttribute('align', 'center'); romTr.appendChild(queueTd); var queueLink = document.createElement('a'); queueLink.setAttribute('href', romQueue); queueLink.setAttribute('title', stringQueue); queueTd.appendChild(queueLink); var queueImg = document.createElement('img'); queueImg.setAttribute('src', '/images/queue_large.png'); queueImg.setAttribute('width', '25'); queueImg.setAttribute('height', '25'); queueImg.setAttribute('border', '0'); queueLink.appendChild(queueImg); var queueBreak = document.createElement('br'); queueLink.appendChild(queueBreak); var queueFont = document.createElement('font'); queueFont.setAttribute('size', '2'); queueLink.appendChild(queueFont); var queueText = document.createTextNode(stringQueue); queueFont.appendChild(queueText); } if (document.body.innerHTML.indexOf('dlpop.php') > -1) { var dlBtn = document.getElementsByClassName('container')[0] var con = document.createElement('center'); con.appendChild(romTable); if (dlBtn.parentNode.nextSibling.nextSibling.nodeName == 'TABLE') { dlBtn.parentNode.nextSibling.nextSibling.remove(); } dlBtn.parentNode.parentNode.insertBefore(con, dlBtn.parentNode.nextSibling); dlBtn.parentNode.remove(); } else { var restText = document.getElementById('recommended').previousSibling.previousSibling; restText.parentNode.insertBefore(romTable, restText.nextSibling); restText.remove(); } var downloader = document.getElementsByClassName('download_link'); for (var x = 0; x < downloader.length; x++) { if (downloader[x].getAttribute('href').indexOf('/downloader.php') > -1) { downloader[x].setAttribute('href', romDl); downloader[x].setAttribute('target', '_blank'); } } } var lazyImages = document.getElementsByTagName('img'); for (var x = 0; x < lazyImages.length; x++) { if (lazyImages[x].hasAttribute('data-src') && lazyImages[x].className == 'lazy') { lazyImages[x].setAttribute('src', lazyImages[x].getAttribute('data-src')); lazyImages[x].removeAttribute('data-src'); lazyImages[x].removeAttribute('class'); } } var divLazy = document.getElementsByClassName('pg-lazy'); for (var x = 0; x < divLazy.length; x++) { divLazy[x].remove(); } }); window.addEventListener("load", function() { if (location.pathname.indexOf('dlpop.php') > -1) { setTimeout(() => { var dwnUrl = document.getElementById('dl').innerHTML.split('://').pop().split('\"')[0]; location.replace(location.protocol + '//' + dwnUrl); }, 100); } document.getElementById("m2_bot_captcha").remove(); });