注意:在您儲存之後您必須清除瀏覽器快取才可看到最新的變動。
?_=1來訪問最新頁面。
/*
這是一個保存編輯內容的小插件,載入後將在“顯示更改”按鈕後生成一個“還原備份”按鈕。
萌百本身有一個緩存編輯的內容的插件,但是我用得感覺很迷,曾經兩次在開了那個插件的情況下提交編輯後發生網絡錯誤,
然而再次回到編輯頁面後卻無法還原,不知道是有Bug還是我沒用好。
這個插件將在點擊“提交編輯、顯示預覽、顯示更改”中任意一個按鈕時備份當前的編輯。當存在備份時,“還原備份”按鈕變為可以點擊。
備份會保存7天,7天后自動清除。
*/
$(function(){
if(! /action=(edit|submit)/.test(location.href)){ return }
var editBox = $('#wpTextbox1'),
btns = $('#wpSaveWidget, #wpPreviewWidget, #wpDiffWidget'),
title = decodeURIComponent(location.search.match(/title=([^&]+)/)[1]),
backupList = JSON.parse(localStorage.getItem('Moegirl-koharubiyori-editBackup') || '{}')
$.each(backupList, function(key, val){
var time = new Date().getTime()
if(val.expires < time){
delete backupList[key]
}
})
setTimeout(function(){
var backup = backupList[title]
if(backup){
var btn = $('<span class="oo-ui-widget oo-ui-widget-enabled 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>')
.click(function(){
editBox.val(backup.content)
mw.notify('已還原備份!', { type: 'warn' })
})
}else{
var btn = $('<span class="oo-ui-widget oo-ui-inputWidget oo-ui-buttonElement oo-ui-buttonElement-framed oo-ui-labelElement oo-ui-buttonInputWidget oo-ui-widget-disabled"><input type="button" value="還原備份" class="oo-ui-inputWidget-input oo-ui-buttonElement-button" disabled /></span>')
}
$('#wpDiffWidget').after(btn)
})
btns.mousedown(function(e){
var content = editBox.val()
var expire = new Date().getTime() + 1000 * 60 * 60 * 24 * 7
backupList[title] = {
expires : expire,
content : content
}
localStorage.setItem('Moegirl-koharubiyori-editBackup', JSON.stringify(backupList))
})
})