注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:按 Ctrl-F5。
function tikuWebPageTempMain(pageName){
var api = new mw.Api();
api.get( {
"action": "tikugettempdata",
"format": "json",
"title": pageName
} ).done( function ( data ) {
if(data.error === undefined){
var unzipped = unzip(data.result.tikugettempdata['work_data'])
sWebPageResultSync(JSON.parse(unzipped))
mw.notify($('<p>已恢复 '+data.result.tikugettempdata['work_time']+' 的记录<br>如需重新开始,请点击工具栏<b>刷新</b>按钮</p>'),
{ title:'同步成功',
autoHideSeconds:'4',
type:'info'
}
);
fillInTheInput(JSON.parse(unzipped))
}
})
}
function fillInTheInput(data){
for(var i in data){
var type = data[i].type
var answer
if( type === 'A' || type === 'A2' || type === 'A3' || type === 'PD' ){
answer = data[i].result.currentAnswer[0]
fillRadio(i,answer)
}else if(type ==='X'){
answer = data[i].result.currentAnswer
fillCheckbox(i,answer)
}else if(type === 'B' || type === 'C'){
answer = data[i].result.currentAnswer
fillSelect(i,answer)
}else if(type === 'A3'){
answer = data[i].result.currentAnswer
fillA3Radio(i,answer)
}else if(type === 'TK' || type === 'MJ'){
answer = data[i].result.currentAnswer
fillText(i,answer)
}
}
}
function uploadWebPageTemp(message){
var title = mw.config.get(['wgPageName']).wgPageName
var data = gWebPageResultSync()=== undefined || gWebPageResultSync()===null?{}:gWebPageResultSync()
var zippedData = zip(JSON.stringify(data))
var api = new mw.Api();
api.postWithToken('csrf', {
"action": "tikuupdatetempdata",
"format": "json",
"title": title,
"datagz": zippedData,
}).done(function (data) {
processUploadResult(data, message)
});
}
function processUploadResult(data,message){
var result = data.result.tikuupdatetempdata
var actionMessage = ''
if(data.error === undefined){
var type = data.action
actionMessage = type==='insert'?'插入':'更新'
}
mw.notify(message, { title: actionMessage, tag:'tempUploadNotify', type:'info' } );
}
function formChangeListener(id, type){
console.log(gWebPageResultSync())
var changeValue
var sessionStorage = gWebPageResultSync()=== undefined || gWebPageResultSync()===null?{}: gWebPageResultSync()
var data = sessionStorage[id]===undefined? {
type:type,
result:{
done:false,
right:false,
currentAnswer:[]
}
} : sessionStorage[id]
if(type==='X'){
changeValue = getCheckBoxValue('checkbox-'+id).sort()
data.result.currentAnswer = changeValue
sessionStorage[id] = data
}else{
changeValue = getSelectedAnswer(id)
var currentAnswer = []
for(var i in changeValue){
if(type==='A3'){console.log(i)}
var answer = changeValue[i]
currentAnswer.push(answer)
}
data.result.currentAnswer = currentAnswer
sessionStorage[id] = data
}
sWebPageResultSync(sessionStorage)
console.log(gWebPageResultSync())
uploadWebPageTemp('已暂存id为:'+id+'的题目,选项:'+data.result.currentAnswer.join(','))
}
//从input的name中提取信息
function decodeName(name){
var split = name.split(/\-/g)
return {
inputType:split[0],
id:split[1],
subId:split[2]===undefined?'':split[2],
fullId:split[2]===undefined?split[1]:split[1]+'-'+split[2]
}
}