您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
「国立アイヌ民族博物館アイヌ語アーカイブ」という サイトの 半角カタカナを 小書きカタカナに します。
// ==UserScript== // @name 国立アイヌ民族博物館アイヌ語アーカイブの半角を小書きに // @namespace http://lit.link/toracatman // @version 2024-10-23 // @description 「国立アイヌ民族博物館アイヌ語アーカイブ」という サイトの 半角カタカナを 小書きカタカナに します。 // @author トラネコマン // @match https://ainugo.nam.go.jp/* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // @license MIT // ==/UserScript== var flag = "g"; var convert_sign_attr = "data-small"; var convert_sign_value = "true"; var replacement = "\x1a"; var c = [ ["ク", "ㇰ"], ["シ", "ㇱ"], ["ス", "ㇲ"], ["ト", "ㇳ"], ["ヌ", "ㇴ"], ["ハ", "ㇵ"], ["ヒ", "ㇶ"], ["プ", "ㇷ゚"], ["フ", "ㇷ"], ["ヘ", "ㇸ"], ["ホ", "ㇹ"], ["ム", "ㇺ"], ["ラ", "ㇻ"], ["リ", "ㇼ"], ["ル", "ㇽ"], ["レ", "ㇾ"], ["ロ", "ㇿ"], ]; (function() { setInterval(() => { var a = document.querySelectorAll("dd,dd *,.kana,.word,.ainu,.ainu *"); if (a == null) return; for (var i = 0; i < a.length; i++) { if (a[i].getAttribute(convert_sign_attr) == convert_sign_value) continue; a[i].setAttribute(convert_sign_attr, convert_sign_value); if (!(a[i].hasChildNodes())) continue; var h = (b) => { var s = b; for (var j = 0; j < c.length; j++) { s = s.replace(new RegExp(c[j][0], flag), c[j][1]); } return s; } if (a[i].childElementCount == 0) { a[i].textContent = h(a[i].textContent); } else { var t = a[i]; var p = document.createTextNode(""); t.replaceWith(p); var r = document.createDocumentFragment(); var e = t.firstElementChild; while (e != null) { e.replaceWith(document.createTextNode(replacement)); r.appendChild(e); e = t.firstElementChild; } var ss = h(t.textContent).split(replacement); t.textContent = ""; t.appendChild(document.createTextNode(ss[0])); for (var j = 1; j < ss.length; j++) { t.appendChild(r.firstElementChild); t.appendChild(document.createTextNode(ss[j])); } p.replaceWith(t); } } }, 100); })();