模板:Editnotice/Group/Clearyourcache
来自小鱼君和他的朋友们
/**
* MediaWiki JS Plugin: In Page Edit * Author: 机智的小鱼君 * Url: https://github.com/Dragon-Fish/wjghj-wiki/Gadgets/in-page-edit * Description: Let you edit page without open new tab. And edit Navebox via navbar, edit section via section edit link etc. **/
function InPageEdit(inPageEditTarget) {
if ($('#InPageEdit').length > 0) { // 只能存在一个窗口 $('#InPageEdit').remove(); } // 开始执行任务 $('body').addClass('action-in-page-edit'); // Variables if (inPageEditTarget == undefined) { inPageEditTarget = mw.config.get('wgPageName'); } var origintext;
new mw.Api().get({ action: "parse", page: inPageEditTarget, prop: "wikitext", format: "json" }).then(function(data) { origintext = data.parse.wikitext['*']; ajaxArea() }).fail(function() { origintext = '\n'; ajaxArea() }); function ajaxArea() { // Create area & hide article $('#mw-content-text').hide();
$('#mw-content-text').before('
' + '
in-page-edit-title
' + '<textarea id="newcontent" style="width:100%;min-height:300px"></textarea>' + '<button id="cancle-btn">取消</button> <button id="preview-btn">预览</button><input id="reason" placeholder="编辑摘要"> <button id="submit-btn">提交</button>
' + '预览
' + '');
$('#InPageEdit #newcontent').val(origintext); $('#InPageEdit #edit-title').html('正在编辑: ' + inPageEditTarget);
// Cancle $('#InPageEdit #cancle-btn').click(function() { var cancleconfirm = confirm('取消吗?'); if (cancleconfirm) { $('body').removeClass('action-in-page-edit'); $('#InPageEdit').remove(); $('#mw-content-text').show(); } });
// Preview $('#InPageEdit #preview-btn').click(function() { new mw.Api().post({ action: "parse", text: $('#InPageEdit #newcontent').val(), prop: "text", preview: true, format: "json" }).then(function(data) { var previewcontent = data.parse.text['*'];
$('#InPageEdit #preview-area').html(previewcontent); }); });
// Submit $('#InPageEdit #submit-btn').click(function() { var submitconfirm = confirm('提交吗?'); if (submitconfirm) { new mw.Api().post({ action: 'edit', text: $('#InPageEdit #newcontent').val(), title: inPageEditTarget, summary: '[InPageEdit] ' + $('#InPageEdit #reason').val(), token: mw.user.tokens.get('editToken') }).done(function() {
$('#InPageEdit').html('
');
window.location.reload(); }); } }); }
}
/** Add button **/ $(function() {
$('.action-view #p-userpagetools ul').addClass('in-page-edit-link-edit').append($('