LLWiki正在建设中,欢迎加入我们!
“User:Bhsd/edit.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 |
||
第3行: | 第3行: | ||
/* |
/* |
||
引自[[moegirl:user:東東君/js/contentBackup.js]] |
引自[[moegirl:user:東東君/js/contentBackup.js]] |
||
这是一个保存编辑内容的小插件,载入后将在“显示更改”按钮后生成一个“还原备份”按钮。 |
这是一个保存编辑内容的小插件,载入后将在“显示更改”按钮后生成一个“还原备份”按钮。 |
||
这个插件将在点击“提交编辑、显示预览、显示更改”中任意一个按钮时备份当前的编辑。当存在备份时,“还原备份”按钮变为可以点击。 |
这个插件将在点击“提交编辑、显示预览、显示更改”中任意一个按钮时备份当前的编辑。当存在备份时,“还原备份”按钮变为可以点击。 |
||
第9行: | 第8行: | ||
*/ |
*/ |
||
if( !["edit", "submit"].includes(mw.config.get('wgAction')) ) { return; } |
if( !["edit", "submit"].includes(mw.config.get('wgAction')) ) { return; } |
||
var editBox = $('#wpTextbox1'), |
var editBox = $('#wpTextbox1'), |
||
btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget'), |
btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget'), |
||
title = mw.config.get('wgPageName'), |
title = mw.config.get('wgPageName'), |
||
backupList = JSON.parse(localStorage.getItem('LLWiki-editBackup') || '{}'); |
backupList = JSON.parse(localStorage.getItem('LLWiki-editBackup') || '{}'); |
||
$.each(backupList, function(key, val) { |
$.each(backupList, function(key, val) { |
||
var time = new Date().getTime(); |
var time = new Date().getTime(); |
||
第21行: | 第18行: | ||
} |
} |
||
}); |
}); |
||
var backup = backupList[title], |
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>'); |
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>'); |
||
第35行: | 第31行: | ||
} |
} |
||
$('#wpDiffWidget').after(btn); |
$('#wpDiffWidget').after(btn); |
||
btns.mousedown(function(e) { |
btns.mousedown(function(e) { |
||
var content = editBox.val(), |
var content = editBox.val(), |
||
第46行: | 第41行: | ||
}); |
}); |
||
/* |
/* JavaScript编辑界面按tab键空4格 */ |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
if(title.endsWith('.js')) { |
if(title.endsWith('.js')) { |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
editBox.val(editBox.val().replace(/\t/g, " ")); |
editBox.val(editBox.val().replace(/\t/g, " ")); |
||
} |
} |
2020年9月7日 (一) 07:47的版本
(function($, mw) { $(function() { /* 引自[[moegirl:user:東東君/js/contentBackup.js]] 这是一个保存编辑内容的小插件,载入后将在“显示更改”按钮后生成一个“还原备份”按钮。 这个插件将在点击“提交编辑、显示预览、显示更改”中任意一个按钮时备份当前的编辑。当存在备份时,“还原备份”按钮变为可以点击。 备份会保存7天,7天后自动清除。 */ if( !["edit", "submit"].includes(mw.config.get('wgAction')) ) { return; } var editBox = $('#wpTextbox1'), btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget'), title = mw.config.get('wgPageName'), 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)); }); /* JavaScript编辑界面按tab键空4格 */ if(title.endsWith('.js')) { editBox.keydown(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; } }); editBox.val(editBox.val().replace(/\t/g, " ")); } // 由于以下代码的奇怪性质,本页面不应频繁修改,至少不能使用移动版皮肤修改 if(mw.config.get('skin') == 'vector') { return; } btns.on('click', function() { editBox.val(editBox.val().replace(/(‘|’)/g,"'")); editBox.val(editBox.val().replace(/(“|”)/g,'"')); }); }); })(jQuery, mediaWiki);