LLWiki正在建设中,欢迎加入我们

“User:Bhsd/edit.js”的版本间差异

来自LLWiki
跳转到导航 跳转到搜索
标签移动版网页编辑 移动版编辑
第17行: 第17行:
});
});
}
}

/*
引自[[moegirl:user:東東君/js/contentBackup.js]]
这是一个保存编辑内容的小插件,载入后将在“显示更改”按钮后生成一个“还原备份”按钮。
这个插件将在点击“提交编辑、显示预览、显示更改”中任意一个按钮时备份当前的编辑。当存在备份时,“还原备份”按钮变为可以点击。
备份会保存7天,7天后自动清除。
*/
if( !["edit", "submit"].includes(mw.config.get('wgAction')) ) { return; }
var btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget'),
backupList = JSON.parse(localStorage.getItem('LLWiki-editBackup') || '{}');
$.each(backupList, function(key, val) {
var time = new Date().getTime();
if(val.expire < time){
delete backupList[key];
}
});
var backup = backupList[title],
btn = $('<span class="oo-ui-widget oo-ui-inputWidget oo-ui-buttonElement oo-ui-buttonElement-framed oo-ui-labelElement oo-ui-buttonInputWidget"><input type="button" value="还原备份" class="oo-ui-inputWidget-input oo-ui-buttonElement-button" /></span>');
if(backup) {
btn.addClass('oo-ui-widget-enabled')
.click(function() {
editBox.val(backup.content);
mw.notify('已还原备份!', { type: 'warn' });
});
}
else {
btn.addClass('oo-ui-widget-disabled');
}
$('#wpDiffWidget').after(btn);
btns.mousedown(function(e) {
var content = editBox.val(),
expire = new Date().getTime() + 1000 * 60 * 60 * 24 * 7;
backupList[title] = {
expire : expire,
content : content
};
localStorage.setItem('LLWiki-editBackup', JSON.stringify(backupList));
});


// 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改
// 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改

2020年9月12日 (六) 10:27的版本

(function($, mw) {
    $(function() {
        /* JavaScript编辑界面按tab键空4格 */
        var editBox = $('#wpTextbox1'),
            title = mw.config.get('wgPageName');
        if(mw.config.get('wgPageContentModel') == 'javascript') {
            $('body').on('keydown', '#wpTextbox1, #Wikiplus-Quickedit', function(e){
                if(e.keyCode == 9){
                    e.preventDefault();
                    var position = this.selectionStart,
                        left = this.value.substring(0, position),
                        right = this.value.substring(position),
                        code = left + '    ' + right;
                    this.value = code;
                    this.selectionStart = this.selectionEnd = position + 4;
                }
            });
        }

        // 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改
        btns.on('click', function() {
            if(mw.config.get('wgPageContentModel') == 'javascript') { editBox.val(editBox.val().replace(/\t/g, "    ")); }
            if(mw.config.get('skin') == 'vector') { return; }
            editBox.val(editBox.val().replace(/(‘|’)/g,"'"));
            editBox.val(editBox.val().replace(/(“|”)/g,'"'));
        });
    });
})(jQuery, mediaWiki);