您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Automatically sets the price in the item listing page with a button click on Torn.com
// ==UserScript== // @name Torn Price RRP Auto Input // @namespace http://tampermonkey.net/ // @version 2.6 // @description Automatically sets the price in the item listing page with a button click on Torn.com // @author Gemini 2.0 https://gemini.google.com/ and OctaviusRW https://www.torn.com/profiles.php?XID=3421627 // @match https://www.torn.com/page.php?sid=ItemMarket* // @match https://*.torn.com/page.php?sid=ItemMarket* // @license GNU GPLv3 // @grant none // ==/UserScript== (function() { 'use strict'; function addButtonsToPriceElements() { const priceElements = document.querySelectorAll('div[class*="price___"]'); priceElements.forEach(priceElement => { if (priceElement.querySelector('.tampermonkey-price-button')) return; const button = document.createElement('button'); button.textContent = '$'; // Shorter button text button.classList.add('tampermonkey-price-button'); button.addEventListener('click', () => { const priceText = priceElement.textContent.trim(); const priceMatch = priceText.match(/[\$£€]?[\s]*([\d,.]+)/i); if (priceMatch) { const price = priceMatch[1].trim(); const rowElement = priceElement.closest('div[class*="itemRow___"]'); if (rowElement) { const inputMoney = rowElement.querySelector('div.input-money-group input[data-money="Infinity"]'); if (inputMoney) { inputMoney.value = price; inputMoney.dispatchEvent(new Event('input', { 'bubbles': true, 'cancelable': true })); inputMoney.dispatchEvent(new Event('change', { 'bubbles': true })); inputMoney.dispatchEvent(new Event('blur')); } else { alert("Could not find the price input in this row."); } } else { alert("Could not find the product row. Check the HTML."); } } else { alert("Could not find price."); } }); priceElement.appendChild(button); }); } addButtonsToPriceElements(); const observer = new MutationObserver(mutations => { let nodesAdded = false; mutations.forEach(mutation => { if (mutation.addedNodes.length > 0) { nodesAdded = true; } }); if (nodesAdded) { addButtonsToPriceElements(); } }); observer.observe(document.body, { childList: true, subtree: true }); const style = document.createElement('style'); style.textContent = ` .tampermonkey-price-button { background-color: #4CAF50; border: none; color: white; padding: 2px 5px; /* Smaller padding */ text-align: center; text-decoration: none; display: inline-block; font-size: 12px; /* Smaller font */ cursor: pointer; border-radius: 3px; /* Smaller border radius */ margin-left: 3px; /* Reduced margin */ line-height: 1; /* Added line-height to control vertical spacing */ } .tampermonkey-price-button:hover { background-color: #45a049; } `; document.head.appendChild(style); console.log("Set Price to Input script running."); })();