Greasy Fork is available in English.
将晋江文学城防盗替换为正常字符
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/425673/987740/%E6%99%8B%E6%B1%9F%E6%96%87%E5%AD%A6%E5%9F%8E%E9%98%B2%E7%9B%97%E5%AD%97%E7%AC%A6%E8%A7%A3%E7%A0%81.js
"use strict";
async function replaceJjwxcCharacter(fontName, inputText) {
let outputText = inputText;
const jjwxcFontTable = await getJjwxcFontTable(fontName);
if (jjwxcFontTable) {
for (const jjwxcCharacter in jjwxcFontTable) {
const normalCharacter = jjwxcFontTable[jjwxcCharacter];
outputText = outputText.replaceAll(jjwxcCharacter, normalCharacter);
}
outputText = outputText.replaceAll("\u200c", "");
}
return outputText;
}
async function getJjwxcFontTable(fontName) {
return await fetchRemoteFont(fontName);
}
async function fetchRemoteFont(fontName) {
const url = `https://jjwxc.bgme.bid/${fontName}.json`;
try {
console.info(`[jjwxc-font]开始请求远程字体对照表 ${fontName}`);
const resp = await fetch(url);
if (resp.status === 200) {
console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载成功`);
return (await resp.json());
}
else {
console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载失败`);
return undefined;
}
}
catch (error) {
console.error(error);
console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载失败`);
return undefined;
}
}