// ==UserScript==
// @name 替換特定詞語(按鈕觸發版) (hamelm)
// @namespace http://tampermonkey.net/
// @version 0.4
// @description 在動態加載的頁面內容中替換特定詞語,按下按鈕時觸發
// @author 你的名字
// @match https://syosetu.org/*
// @match https://books.fishhawk.top/novel?query*
// @match https://www.pixiv.net/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
const replacements = {
"スペシャルウィーク": "特別週",
"サイレンススズカ": "無聲鈴鹿",
"トウカイテイオー": "東海帝皇",
"マルゼンスキー": "丸善斯基",
"フジキセキ": "富士奇石",
"オグリキャップ": "小栗帽",
"ゴールドシップ": "黃金船",
"ウオッカ": "伏特加",
"ダイワスカーレット": "大和赤驥",
"タイキシャトル": "大樹快車",
"グラスワンダー": "草上飛",
"ヒシアマゾン": "菱亞馬遜",
"メジロマックイーン": "目白麥昆",
"エルコンドルパサー": "神鷹",
"テイエムオペラオー": "好歌劇",
"ナリタブライアン": "成田白仁",
"シンボリルドルフ": "魯道夫象徵",
"エアグルーヴ": "氣槽",
"アグネスデジタル": "愛麗數碼",
"セイウンスカイ": "青雲天空",
"タマモクロス": "玉藻十字",
"ファインモーション": "美妙姿勢",
"ビワハヤヒデ": "琵琶晨光",
"マヤノトップガン": "重砲",
"マンハッタンカフェ": "曼哈頓咖啡",
"ミホノブルボン": "美浦波旁",
"メジロライアン": "目白雷恩",
"ヒシアケボノ": "菱曙",
"ユキノビジン": "雪之美人",
"ライスシャワー": "米浴",
"アイネスフウジン": "艾尼風神",
"アグネスタキオン": "愛麗速子",
"アドマイヤベガ": "愛慕織姬",
"イナリワン": "稻荷一",
"ウイニングチケット": "勝利獎券",
"エアシャカール": "空中神宮",
"エイシンフラッシュ": "榮進閃耀",
"カレンチャン": "真機伶",
"カワカミプリンセス": "川上公主",
"ゴールドシチー": "黃金城市",
"サクラバクシンオー": "櫻花驀進王",
"シーキングザパール": "採珠",
"シンコウウインディ": "新光風",
"スイープトウショウ": "東商變革",
"スーパークリーク": "超級小溪",
"スマートファルコン": "醒目飛鷹",
"ゼンノロブロイ": "荒漠英雄",
"トーセンジョーダン": "島川喬登",
"ナカヤマフェスタ": "中山慶典",
"ナリタタイシン": "成田大進",
"ニシノフラワー": "西野花",
"ハルウララ": "春烏菈菈",
"バンブーメモリー": "青竹回憶",
"ビコーペガサス": "微光飛駒",
"マーベラスサンデー": "美麗週日",
"マチカネフクキタル": "待兼福來",
"ミスターシービー": "千明代表",
"メイショウドトウ": "名將怒濤",
"メジロドーベル": "目白多伯",
"ナイスネイチャ": "優秀素質",
"キングヘイロー": "帝王光輝",
"マチカネタンホイザ": "待兼唐懷瑟(詩歌劇)",
"イクノディクタス": "生野狄杜斯",
"メジロパーマー": "目白善信",
"ダイタクヘリオス": "大德太陽",
"ツインターボ": "雙渦輪",
"サトノダイヤモンド": "里見光鑽",
"キタサンブラック": "北部玄駒",
"サクラチヨノオー": "櫻花千代王",
"シリウスシンボリ": "天狼星象徵",
"メジロアルダン": "目白阿爾丹",
"ヤエノムテキ": "八重無敵",
"ツルマルツヨシ": "鶴丸剛志",
"メジロブライト": "目白光明",
"デアリングタクト": "謀勇兼備",
"サクラローレル": "櫻花桂冠",
"ナリタトップロード": "成田路",
"ヤマニンゼファー": "山人西風",
"フリオーソ": "狂怒樂章(Furioso)",
"トランセンド": "創升",
"エスポワールシチー": "希望之城(Espoir City)",
"ノースフライト": "北方飛翔",
"シンボリクリスエス": "克莉斯耶絲象徵",
"タニノギムレット": "谷水琴蕾",
"ダイイチルビー": "第一紅寶",
"メジロラモーヌ": "目白拉茉奴(高峰)",
"アストンマーチャン": "奧斯頓真弓",
"サトノクラウン": "里見皇冠",
"シュヴァルグラン": "高尚駿逸",
"ヴィルシーナ": "極峰",
"ヴィブロス": "強擊",
"ダンツフレーム": "烈焰快駒",
"ケイエスミラクル": "喜嘉奇蹟",
"ジャングルポケット": "叢林口袋",
"ノーリーズン": "莫名其妙(No Reason)",
"スティルインラブ": "愛如往昔(Still in Love)",
"コパノリッキー": "小林歷奇",
"ホッコータルマエ": "北幸樽前",
"ワンダーアキュート": "奇銳駿",
"サウンズオブアース": "萬籟爭鳴 (Sounds of Earth)",
"ロイスアンドロイス": "超級駿馬(Royce and Royce)",
"カツラギエース": "葛城榮主",
"ネオユニヴァース": "新宇宙",
"ヒシミラクル": "菱鑽奇寶",
"タップダンスシチー": "跳舞城",
"ドゥラメンテ": "大鳴大放",
"ラインクラフト": "萊茵力量(Rhein Kraft)",
"シーザリオ": "西薩里奧",
"エアメサイア": "空中救世主(Air Messiah)",
"デアリングハート": "勇敢之心",
"ブエナビスタ": "迷人景致",
"オルフェーヴル": "黃金巨匠",
"ジェンティルドンナ": "貴婦人",
"ウインバリアシオン": "凱旋芭蕾",
"ドリームジャーニー": "夢之旅",
"ハッピーミーク": "快樂溫順",
"ビターグラッセ": "微苦糖漬",
"リトルココン": "小巧圓繭",
"モンジュー": "望族",
"ヴェニュスパーク": "金星公園",
"リガントーナ": "偉大女王",
"ソノンエルフィー": "聲韻精靈(Sonon Elfie)",
"デュランダル": "多旺達",
"ビリーヴ": "信念",
"サムスンビッグ": "大森遜",
"駿川たづな": "駿川手綱",
"秋川理事長": "秋川理事長",
"乙名史記者": "乙名史記者",
"桐生院トレーナー": "桐生院訓練員",
"安心沢刺々美": "安心澤刺刺美",
"樫本理子": "樫本理子",
"ビューティー安心沢": "美麗安心澤",
"ライトハロー": "明亮光暈",
"ダーレーアラビアン": "達利阿拉伯",
"ゴドルフィンバルブ": "高多芬柏布",
"バイアリーターク": "拜耶爾土耳其",
"オリジナルウマ娘": "原創馬娘",
"都留岐涼花": "都留岐涼花"
};
function replaceTextContent(node) {
if (node.nodeType === Node.TEXT_NODE) {
let text = node.nodeValue;
for (let key in replacements) {
if (replacements.hasOwnProperty(key)) {
let regex = new RegExp(key, 'g');
text = text.replace(regex, replacements[key]);
}
}
node.nodeValue = text;
} else if (node.nodeType === Node.ELEMENT_NODE && node.childNodes.length > 0) {
node.childNodes.forEach(replaceTextContent);
}
}
// 添加一個按鈕到頁面
function addButton() {
const button = document.createElement('button');
button.textContent = '替換馬娘特定詞語';
button.style.position = 'fixed';
button.style.top = '50px';
button.style.right = '10px';
button.style.zIndex = 1000;
button.style.padding = '10px';
button.style.backgroundColor = '#4CAF50';
button.style.color = 'white';
button.style.border = 'none';
button.style.borderRadius = '5px';
button.style.cursor = 'pointer';
button.addEventListener('click', () => {
replaceTextContent(document.body);
});
document.body.appendChild(button);
}
// 當頁面完全加載後執行
window.addEventListener('load', addButton);
})();