🏠 Home 

晋江文学城防盗字符解码

将晋江文学城防盗替换为正常字符

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/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

  1. "use strict";
  2. async function replaceJjwxcCharacter(fontName, inputText) {
  3. let outputText = inputText;
  4. const jjwxcFontTable = await getJjwxcFontTable(fontName);
  5. if (jjwxcFontTable) {
  6. for (const jjwxcCharacter in jjwxcFontTable) {
  7. const normalCharacter = jjwxcFontTable[jjwxcCharacter];
  8. outputText = outputText.replaceAll(jjwxcCharacter, normalCharacter);
  9. }
  10. outputText = outputText.replaceAll("‌\u200c", "");
  11. }
  12. return outputText;
  13. }
  14. async function getJjwxcFontTable(fontName) {
  15. return await fetchRemoteFont(fontName);
  16. }
  17. async function fetchRemoteFont(fontName) {
  18. const url = `https://jjwxc.bgme.bid/${fontName}.json`;
  19. try {
  20. console.info(`[jjwxc-font]开始请求远程字体对照表 ${fontName}`);
  21. const resp = await fetch(url);
  22. if (resp.status === 200) {
  23. console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载成功`);
  24. return (await resp.json());
  25. }
  26. else {
  27. console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载失败`);
  28. return undefined;
  29. }
  30. }
  31. catch (error) {
  32. console.error(error);
  33. console.info(`[jjwxc-font]远程字体对照表 ${fontName} 下载失败`);
  34. return undefined;
  35. }
  36. }