站内所涉及的公司名称、商标、产品等均为其各自所有者所有的资产,站点内使用仅供用于识别。站点内使用的所有游戏图片、游戏文案等其他素材,其版权为游戏权利方所有。
如有异议请发邮件至:bwiki@bilibili.com,或联系客服QQ:1968897839。

如果希望显示隐藏日文注释,请前往 参数设置-小工具 取消勾选“隐藏日文注释”并保存,等待缓存刷新。
可以在 参数设置-小工具 中设置首页主题。

欢迎加入WIKI交流群,群号:945590010
欢迎加入QQ频道【突击莉莉】,点击加入

全站通知:

Widget:TemplateToExcel

来自突击莉莉终结之弹WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

<textarea id="TTEpage" style="width:100%;height:300px"></textarea> <button id="TTEsubmit" style="padding:0.5em 1em">确认</button> <textarea id="TTEexcel" style="width:100%;height:300px" readonly></textarea> <script> TTEMeta={ "page":[], "state":"ready", "data":[], "table":[], } TTEFun={ "initialize":function(){ TTEMeta.wiki=mw.config.values.wgScriptPath document.getElementById("TTEpage").oninput=function(){ TTEMeta.page=this.value.split("\n") } document.getElementById("TTEsubmit").onclick=function(){ if(TTEMeta.state=="ready"){ TTEMeta.state=TTEMeta.page.length document.getElementById("TTEpage").readOnly=true TTEFun.sendPage() } } }, "sendPage":function(){ document.getElementById("TTEexcel").value="生成中…("+(TTEMeta.state-TTEMeta.page.length)+"/"+TTEMeta.state+")" let page=TTEMeta.page.shift() if(page){ let url="https://wiki.biligame.com"+TTEMeta.wiki+"/api.php?action=parse&format=json&prop=wikitext" url+="&page="+page getApi(url,function(json){ let wikitext=JSON.parse(json).parse.wikitext["*"] TTEMeta.data.push(wikitext) TTEFun.sendPage() }) } else{ TTEMeta.page=document.getElementById("TTEpage").value.split("\n") TTEMeta.table.push([]) let head=TTEMeta.data[0] TTEMeta.table[0].push(head.match(/\{\{(.*)\n/)[1]) let key=[...head.matchAll(/\|(.*)=/g)] key.forEach(function(e){TTEMeta.table[0].push(e[1])}) for(let i=0,ilen=TTEMeta.data.length;i<ilen;i++){ let row=[] row.push(TTEMeta.page[i]) let value=[...TTEMeta.data[i].matchAll(/\=(.*)/g)] value.forEach(function(e,i){row.push(e[1])}) TTEMeta.table.push(row) } let result="" for(let i=0,ilen=TTEMeta.table.length;i<ilen;i++){ for(let j=0,jlen=TTEMeta.table[i].length;j<jlen;j++){ result+=TTEMeta.table[i][j]+"\t" } result+="\n" } document.getElementById("TTEexcel").value=result document.getElementById("TTEexcel").readOnly=false } }, } function getApi(url,callback=false,callbackE=false){ let ajax=new XMLHttpRequest() if(!callback){ ajax.open("GET",url,false) ajax.send() let json=JSON.parse(ajax.responseText) return json } ajax.open("GET",url) ajax.send() ajax.onreadystatechange=function(){ if(ajax.readyState==4){ if(ajax.status==200){ callback(ajax.responseText) } else if(ajax.status==404&&callbackE){ callbackE(true) } } } } window.addEventListener("load",function(){ TTEFun.initialize() }) </script> <style> textarea[readonly]{ color:lightgray; } </style>