跳转到内容

英文维基 | 中文维基 | 日文维基 | 草榴社区

User:Summerize/removehiddenchars.js

维基百科,自由的百科全书
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
/* 腳本修改自[[User:Vanished user 1929210/removehiddenchars.js]] */
$.when(
    $.ajax("//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js", { dataType: "script", cache: true })
).then(function() {
    // 定義不可見字元
    var CH = /[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f-\u009f\u200b-\u200f\u202c-\u202e\u2060-\u2064\u206a-\u206f\ufeff]/ug;
    var SUMMARY = '去除不可見字元';

    var remove = function (editor) {
        var text = editor.get();
        if (CH.test(text)) {
            editor.set(text.replace(CH, ''));
            editor.appendEditSummary(SUMMARY);
            editor.options({ minor: true });
        }
        return text;
    };

    // 當在編輯頁面時
    if (mw.config.get('wgAction') === 'edit') {
        pathoschild.TemplateScript.add(
            [
                {
                    name: "去除不可見字元",
                    tooltip: "去除文本中的不可見字元",
                    script: function(editor) {
                        remove(editor);
                    }
                }
            ],
            { forActions: "edit", category: "文本處理" }
        );
    } else {
        $('body').one('focus', '#Wikiplus-Quickedit', function () {
            var text = $('#Wikiplus-Quickedit').val();
            if (CH.test(text)) {
                $('#Wikiplus-Quickedit').val(text.replace(CH, ''));
                $('#Wikiplus-Quickedit-Summary-Input').val(SUMMARY);
                $('#Wikiplus-Quickedit-MinorEdit').attr('checked', 'checked');
            }
        });
    }
});