// ==UserScript== // @name Neopets - Remove Buy Confirm Onclick // @namespace https://www.scriptneo.com/ // @version 1.0 // @description Removes the inline confirm onclick from shop buy buttons so it doesn't prompt "Are you sure you wish to buy..." // @author You // @match https://www.neopets.com/* // @grant none // @downloadURL https://www.scriptneo.com/scripts/download.php?id=1 // @updateURL https://www.scriptneo.com/scripts/download.php?id=1 // ==/UserScript== (function () { "use strict"; function stripInlineConfirm(el) { if (!el || !(el instanceof Element)) return false; // Remove inline attribute like: onclick="if (!confirm(...)) { return false; }" const attr = el.getAttribute("onclick"); if (attr && /confirm\s*\(/i.test(attr)) { el.removeAttribute("onclick"); } // Also remove property handler if it exists and looks confirm-ish // (Some pages set el.onclick = function(){...confirm...}) try { const prop = el.onclick; if (typeof prop === "function") { const src = Function.prototype.toString.call(prop); if (/confirm\s*\(/i.test(src)) { el.onclick = null; } } } catch (e) { // ignore } return true; } function scan() { // Buttons / inputs commonly used for "Buy" const candidates = document.querySelectorAll( 'input[type="submit"][onclick], input[type="button"][onclick], button[onclick], a[onclick]' ); candidates.forEach((el) => stripInlineConfirm(el)); } // Initial pass scan(); // Keep it clean if the page swaps content dynamically const obs = new MutationObserver(() => scan()); obs.observe(document.documentElement, { childList: true, subtree: true }); })();