Replace Train with Exercise

Replace "train" with "exercise" on Torn Gym page, to help people suffering with Siderodromophobia

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Replace Train with Exercise
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Replace "train" with "exercise" on Torn Gym page, to help people suffering with Siderodromophobia
// @author       hexxeh[2428617]
// @license MIT
// @match        https://www.torn.com/gym.php
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function replaceText(node) {
        if (node.nodeType === Node.TEXT_NODE) {
            node.textContent = node.textContent.replace(/\btrain\b/gi, 'exercise');
        } else if (node.nodeType === Node.ELEMENT_NODE) {
            // Replace text in input fields and buttons
            if (node.tagName === 'BUTTON' || node.tagName === 'INPUT') {
                node.value = node.value.replace(/\btrain\b/gi, 'exercise');
            }
            // Check for child nodes
            node.childNodes.forEach(replaceText);
        }
    }

    // Run replacement after the page fully loads
    window.addEventListener('load', () => {
        replaceText(document.body);
    });

    // Observe changes to the body for dynamic content
    const observer = new MutationObserver(() => {
        replaceText(document.body);
    });

    observer.observe(document.body, {
        childList: true,
        subtree: true
    });
})();