您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
6/20/2025, 11:46:35 PM
// ==UserScript== // @name USD to INR script // @namespace Sam-2503 // @match https://greasyfork.org/en/script_versions/new* // @grant none // @version 1.0 // @author Sam-2503 // @description 6/20/2025, 11:46:35 PM // ==/UserScript== // this script will convert USD prices to INR prices (function () { "use strict"; let exchangeRate = null; async function fetchExchangeRate() { try { const response = await fetch( "https://api.exchangerate-api.com/v4/latest/USD" ); const data = await response.json(); exchangeRate = data.rates.INR; console.log("Exchange rate fetched: 1 USD =", exchangeRate, "INR"); convertPrices(); } catch (error) { console.error("Error fetching exchange rate:", error); } } function convertPrices() { if (!exchangeRate) { return; } const regex = /\$([\d,]+(?:\.\d{1,2})?)/g; function convert(match, p1) { const usd = parseFloat(p1.replace(/, /g, "")); const inr = Math.round(usd * exchangeRate); return `${match} (₹${inr.toLocaleString("en-IN")})`; } const walker = document.createTreeWalker( document.body, NodeFilter.SHOW_TEXT, null, false ); while (walker.nextNode()) { const node = walker.currentNode; if (!node.nodeValue.match(regex)) { continue; } node.nodeValue = node.nodeValue.replace(regex, (match, p1) => { const usd = parseFloat(p1.replace(/,/g, "")); const inr = Math.round(usd * exchangeRate); return `${match} (₹${inr.toLocaleString("en-IN")})`; }); } } const observer = new MutationObserver(() => convertPrices()); observer.observe(document.body, { childList: true, subtree: true }); fetchExchangeRate(); })();