炉石传说WIKI
wiki.17173.com/hs
导航
首页
刷新本页缓存
随机页面
MediaWiki帮助
更改
文件列表
上传文件
最近更改
其他
特殊页面
配置菜单栏
配置css样式
配置js
配置整站通告
英雄
皮肤
随从
酒馆法术
暂移除
任务
奖励
畸变
导航
首页
刷新本页缓存
随机页面
MediaWiki帮助
更改
文件列表
上传文件
最近更改
其他
特殊页面
配置菜单栏
配置css样式
配置js
配置整站通告
英雄
皮肤
随从
酒馆法术
暂移除
任务
奖励
畸变
查看“MediaWiki:Pagefill.js”的源代码
WIKI功能
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
document.getElementById("BatchCreateByTemplate").innerHTML='<textarea id="BCBTexcel" style="width:100%;height:300px"></textarea><div id="BCBTdisplay" class="row"></div><button id="BCBTsubmit" style="padding:0.5em 1em">确认创建</button>' BCBTMeta = { template: "", key: [], page: {}, state: "ready", titles: [], index: 0 }; BCBTFun = { initialize: function () { if (mw.config.get("wgUserGroups").indexOf("sysop") == -1) { document.getElementById("BatchCreateByTemplate").innerHTML="你无权使用这个功能。" return; } document.getElementById("BCBTexcel").oninput = function () { let row = this.value.split("\n"); let title = row[0].split("\t"); title = title.map(function (e) { return e.trim(); }); BCBTMeta.template = title[0]; BCBTMeta.key = []; BCBTMeta.page = {}; for (let i = 1, ilen = title.length; i < ilen; i++) { BCBTMeta.key.push(title[i]); } for (let i = 1, ilen = row.length; i < ilen; i++) { let cell = row[i].split("\t"); cell = cell.map(function (e) { return e.trim(); }); if (cell[0]) { BCBTMeta.page[cell[0]] = []; for (let j = 1, jlen = title.length; j < jlen; j++) { BCBTMeta.page[cell[0]].push(cell[j] || ""); } } } let BCBTdisplay = document.getElementById("BCBTdisplay"); BCBTdisplay.innerHTML = ""; for (let key in BCBTMeta.page) { let text = "[[<a href=" + mw.config.values.wgScriptPath + "/" + encodeURIComponent(key) + " title=" + key + " target=_blank>" + key + "</a>]]"; text += "\n\n{{" + (BCBTMeta.template ? "<a href=" + mw.config.values.wgScriptPath + "/" + encodeURIComponent("模板:" + BCBTMeta.template) + " title=" + "模板:" + BCBTMeta.template + " target=_blank>" + BCBTMeta.template + "</a>" : "<span style='color:red'>请确认模板</span>"); for (let i = 0, ilen = BCBTMeta.key.length; i < ilen; i++) { text += "\n|" + (BCBTMeta.key[i] ? BCBTMeta.key[i] + "=" : "") + BCBTMeta.page[key][i]; } text += "\n}}"; let pre = document.createElement("pre"); pre.classList.add("col-md-3"); pre.dataset.title = key; pre.innerHTML = text; BCBTdisplay.appendChild(pre); } }; document.getElementById("BCBTsubmit").onclick = function () { if (BCBTMeta.state == "ready" && confirm("真的确认了吗?")) { document.getElementById("BCBTexcel").readOnly = true; BCBTMeta.state = "busy"; BCBTMeta.titles = Object.keys(BCBTMeta.page); create(); } }; } }; function create() { var title = BCBTMeta.titles[BCBTMeta.index++]; if (!title) { console.log("finished!"); return false; } let text = "{" + "{" + BCBTMeta.template; for (let i = 0, ilen = BCBTMeta.key.length; i < ilen; i++) { text += "\n|" + (BCBTMeta.key[i] ? BCBTMeta.key[i] + "=" : "") + BCBTMeta.page[title][i]; } text += "\n}}"; new mw.Api() .postWithToken("csrf", { action: "edit", title: title, text: text }) .then(function (json) { // let title = json.edit.title; // $.get(mw.config.get("wgCookiePath") + title); document.querySelector('#BCBTdisplay pre[data-title="' + title + '"]').classList.add("created"); return setTimeout(create, 1000); }) .catch(function (e) { console.log(e); // "http", "editConfict" // BCBTMeta.index--; document.querySelector('#BCBTdisplay pre[data-title="' + title + '"]').classList.add("uncertain"); return setTimeout(create, 5000); }); } window.addEventListener("load", function () { BCBTFun.initialize(); }); 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); } } }; } function postFdApi(url, fd, callback = false, callbackE = false) { let ajax = new XMLHttpRequest(); if (!callback) { ajax.open("POST", url, false); ajax.send(fd); let json = JSON.parse(ajax.responseText); return json; } ajax.open("POST", url); ajax.send(fd); ajax.onreadystatechange = function () { if (ajax.readyState == 4) { if (ajax.status == 200) { callback(ajax.responseText); } else if (ajax.status == 404 && callbackE) { callbackE(true); } } }; }
返回
MediaWiki:Pagefill.js
。