繁簡自由切換

任意轉換網頁中的簡體中文與正體中文(默認簡體→正體),顯示漢字對應漢語拼音,自訂任意替換文本

< Feedback on 繁簡自由切換

Question/comment

Deleted user 108456
§
Posted: 09. 08. 2017
Edited: 09. 08. 2017

优化一下算法如何?

1 . 优化查询算法

举个例子:

    let stMap = null;
    let tsMap = null;

    function ensureMapped() {
        if (stMap !== null && tsMap !== null) {
            return;
        }
        stMap = {};
        tsMap = {};
        console.assert(scStr.length === tcStr.length);
        for (let i = 0; i < sc.length; i++) {
            let s = scStr[i];
            let t = tcStr[i];
            stMap[s] = t;
            stMap[t] = s;
        }
    }

    function cc(str, simplify) {
        if (!str) {
            return '';
        }
        ensureMapped();
        let ret = '';
        let map = simplify ? tsMap : stMap;
        for (let i = 0; i < str.length; i++) {
            let ch = str[i];
            ret += map[ch] || ch;
        }
        return ret;
    }

把每个字的遍历列表转换为查表。

2 . 如果配置 auto === false,但是在站点配置上选择了转换为X体的话,依旧自动转换

3 . 尽量不用 alert(),比如可以尝试使用 GM_notification(),或者第三方库的 toast?

Post reply

Sign in to post a reply.