注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 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 toolBarMain(){
var settings = gWebPageTimuSettings()
var tikuBarMain = $('<div class="timu-toolbar"></div>')
var bar = $('<div class="timu-toolbar-toggle"> </div>')
var toggle = $('<div class="timu-toggle-btn"></div>')
var btnToggle = new OO.ui.ToggleButtonWidget( {
label: '隐藏'
} )
btnToggle.$element.children('a').on('click',function(){
console.log(111)
var label = btnToggle.getLabel()==='隐藏'?'打开':'隐藏'
btnToggle.setLabel(label)
bar.fadeToggle('1000')
})
var btnReload = new OO.ui.ButtonWidget( {
label: '刷新',
classes:['tiku-toolbar-btn'],
icon: 'reload',
flags: [
'primary',
'destructive'
]
} )
btnReload.$element.on('click',function(){
toolbarConfrimReload()
})
//如果noTemp 是 undefined 或者 0 都等于启动
var noautotemp = settings.noTemp
var noTemp = noautotemp === false || noautotemp === undefined ? false:true
var noTempBtnLabel = noTemp ? '暂存 关':'暂存 开'
var btnSwitchAutoTemp = new OO.ui.ToggleButtonWidget( {
label: noTempBtnLabel,
classes:['tiku-toolbar-btn'],
value: !noTemp,
disabled: settings.userId === '0' //如果未登陆禁止点击
} )
if(settings.userId !== '0'){
btnSwitchAutoTemp.$element.children('a').on('click',function(){
btnSwitchAutoTemp.setDisabled(true)
switchAutoTemp(btnSwitchAutoTemp)
})
}
toggle.append(btnToggle.$element)
bar.append(btnReload.$element,btnSwitchAutoTemp.$element)
tikuBarMain.append(toggle,bar)
$('.mw-parser-output').prepend( tikuBarMain)
}
// btn functions
function toolbarConfrimReload(){
var messageDialog = new OO.ui.MessageDialog();
messageDialog.getActionProcess = function ( action ) {
var dialog = this;
if ( action === 'confirm' ) {
sWebPageResultSync({})
uploadWebPageTemp('已清除本页暂存信息')
$('.timuContainer').remove()
renderTimuFromSessionStorage()
}
if ( action ) {
return new OO.ui.Process( function () {
dialog.close( {
action: action
} );
} );
}
};
// Create and append a window manager.
var windowManager = new OO.ui.WindowManager();
$( 'body' ).append( windowManager.$element );
windowManager.addWindows( [ messageDialog ] );
// Open the window.
windowManager.openWindow( messageDialog, {
title: '确认刷新本页题目?',
message: '刷新会重置本次做题信息和暂存内容',
actions:[
{ action: 'confirm', label: '确认', flags: 'primary' },
{ action: 'close', label: '取消', flags: 'safe' }]
} );
}
function switchAutoTemp(btn){
var noTemp = gWebPageTimuSettings().noTemp
var setTo = noTemp ? 0:1
var labelChangeTo = noTemp === true ? '暂存 开':'暂存 关'
var chineseName = setTo === 0 ? '开启':'关闭'
btn.setLabel(labelChangeTo)
setPreference('tiku-temp-noautotemp', setTo).done(function(){
btn.setDisabled(false)
getTikuSettingFromMediawiki()
mw.notify(
'已'+chineseName+'暂存',
{ title:'设置更新',
autoHideSeconds:'4',
tag:'settings-update'
}
);
})
}
function getPreference(){
var api = new mw.Api();
return api.get( {
"action": "query",
"format": "json",
"meta": "userinfo",
"uiprop": "options"
} )
}
function setPreference(option, value){
const params = {
action: 'options',
optionname: option,
optionvalue: value,
format: 'json'
},
api = new mw.Api();
return api.postWithToken('csrf', params)
}