小无编辑摘要 标签:sourceedit |
小无编辑摘要 标签:sourceedit |
||
第191行: | 第191行: | ||
var map = parseArguments(location.href); |
var map = parseArguments(location.href); |
||
if(map) { |
if(map) { |
||
− | var maptemp = map['StageTitle']; |
+ | var maptemp = decodeURIComponent(map['StageTitle']); |
− | console.log(maptemp); |
+ | console.log("maptemp:"+maptemp); |
$.getJSON('http://zh.tos.wikia.com/api.php', { |
$.getJSON('http://zh.tos.wikia.com/api.php', { |
||
action: 'query', |
action: 'query', |
||
第199行: | 第199行: | ||
indexpageids: 1 |
indexpageids: 1 |
||
}, function(json) { |
}, function(json) { |
||
− | console.log( |
+ | console.log("pageids:"+json.query.pageids[0]); |
− | console.log(json.query.pageids[0]); |
||
if(json.query.pageids[0] == -1) history.back(); |
if(json.query.pageids[0] == -1) history.back(); |
||
}); |
}); |
||
} else history.back(); |
} else history.back(); |
||
$('#stage_name').val(decodeURIComponent(map['StageTitle'])); |
$('#stage_name').val(decodeURIComponent(map['StageTitle'])); |
||
+ | console.log("#stage_name:"+$('#stage_name').text()); |
||
$('#user_name').val((wgUserName.replace(' ','_'))); |
$('#user_name').val((wgUserName.replace(' ','_'))); |
||
$('#preview').click(function() { |
$('#preview').click(function() { |
2015年9月18日 (五) 16:29的版本
<style type="text/css">#new_team_table input,#new_team_table select{width:calc(100% - 4px);}</style> <form id="new_team">
遊戲ID:<input style="width:60%;" type="number" id="gameid" /> |
| |||||||||||||||||||||||||||||||||||
<textarea id="attack_method" style="resize:none;width:100%;height:100px;" placeholder="※通關攻略請盡量詳細說明,內容請勿空白。嚴禁在此處發佈徵友及公會招生訊息。"></textarea> |
<input type="button" value="預覽" id="preview" /><input type="submit" /> </form> <script> (function NewTeam(){ if(typeof jQuery == "undefined") { setTimeout(NewTeam, 100); return; }
if(typeof mw == "undefined") { setTimeout(NewTeam, 100); return; }
function submit(title, text, func) { $.post( "http://zh.tos.wikia.com/api.php", { action: 'edit', appendtext: text, title: title + '/通關技巧及參考隊伍', token: mw.user.tokens.get('editToken'), format: 'json' }, func, 'json' ); }
function numberString(number) { number = parseInt(number + ); if(number < 10) { return '00' + number; } else if (number < 100) { return '0' + number; } else { return + number; } }
function showStatus(text, type) { var status_bar = $('#status_bar'); status_bar.show('slow'); status_bar.text(text); status_bar.removeClass('attr-w attr-l attr-f'); switch (type) { case 0: status_bar.addClass('attr-w'); return; case 1: status_bar.addClass('attr-l'); return; case 2: status_bar.addClass('attr-f'); return; } }
function error () { $(this).find('input[type=submit]:eq(0)').attr('disabled', false); showStatus('發生錯誤,請重新整理後再試一次,並請確保在網路狀態良好環境下進行', 2); }
function encode (v) {
return $('
}
function parseArguments(url) { var num = url.indexOf('?'); if(num == -1)return null; var str = url.substring(num + 1, url.length); var pairs = str.split(decodeURIComponent('%26')); var obj = {}; for(var index in pairs) { var pair = pairs[index].split('='); obj[pair[0]] = pair[1]; } return obj; }
function buildText() {
var all = $('#new_team_table input,#new_team_table select'); var text = decodeURI('%7B%7BNewRanks|title=') + $('#team_name').val() + '|stagelv=' + $('#stagelevel').children(':selected').text() + '|A=' + $('#achievement_num').children(':selected').val() + '|D=' + $('#diamond_num').val(); if($('#gameid').val() > 0) { text += '|id=' + decodeURI('%5B%5BUser_Talk:') + $('#user_name').val() + '|' + $('#gameid').val() + decodeURI('%5D%5D'); } for(var i = 0; i < all.length; i++) { if(all.eq(Math.floor((i)/4)*4).val() == ) continue; if(all.eq(i).val() == ) continue; text += ('|' + all.eq(i).data('id') + '=' + ((i%4==0)?numberString(all.eq(i).val()):all.eq(i).val())); }
text += ('|explain=' + encode($('#attack_method').val()).replace(/~/g, decodeURIComponent('%26%23126%3B')).replace(/\n/g,'
') + '
~~' + '~~' + decodeURI('%7D%7D') + '\n');
return text;
}
var map = parseArguments(location.href); if(map) { var maptemp = decodeURIComponent(map['StageTitle']); console.log("maptemp:"+maptemp); $.getJSON('http://zh.tos.wikia.com/api.php', { action: 'query', titles: maptemp, format: 'json', indexpageids: 1 }, function(json) { console.log("pageids:"+json.query.pageids[0]); if(json.query.pageids[0] == -1) history.back(); }); } else history.back(); $('#stage_name').val(decodeURIComponent(map['StageTitle'])); console.log("#stage_name:"+$('#stage_name').text()); $('#user_name').val((wgUserName.replace(' ','_'))); $('#preview').click(function() { $.getJSON('http://zh.tos.wikia.com/api.php', { action: 'parse', format: 'json', text: buildText() }, function (data) { $('#preview_area').children().remove(); $(data.parse.text['*']).appendTo('#preview_area'); } ); });
$('#new_team').on('submit', function(e){ e.preventDefault(); showStatus('正在新增,請稍候', 1); $(this).find('input[type=submit]:eq(0)').attr('disabled', true);
submit($('#stage_name').val(), buildText(), function (data) { if (typeof data == 'object') { if (typeof data.edit == 'object') { if (data.edit.result == "Success") { showStatus('新增成功,請等待跳轉...', 0); window.location.href='http://zh.tos.wikia.com/wiki/' + $('#stage_name').val() + '/通關技巧及參考隊伍'; } else { error(); } } else { error(); } } else { error(); } }); });
})(); </script>