您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
为bwiki提供一个快捷工具栏,可以操作当前页面、快速进入其他常见页面。实现简单便于DIY。
// ==UserScript== // @name BWiki工具列表: List Util // @version 1.0.1 // @description 为bwiki提供一个快捷工具栏,可以操作当前页面、快速进入其他常见页面。实现简单便于DIY。 // @author Lu // @match *://wiki.biligame.com/* // @exclude *://wiki.biligame.com/*/api.php* // @namespace https://gf.qytechs.cn/users/416853 // @license CC BY-SA // ==/UserScript== console.log("List Util: 开始加载") /* 小工具的HTML部分,基于BWiki使用的 bootstrap 中的 btn-group 实现 */ let innerHTML = ` <style> #list_util{ position: fixed; top: 10px; left: 10px; z-index: 1501; /* 因为BWiki部分组件的 z-index 为令人迷惑的1500 */ } #list_util .dropdown-menu{ min-width:80px; left: 0; top: 30px; } #list_util .lu-btn{ padding: 5px; color: #1FABE4; /* 从bili logo 取色 */ } </style> <div id="list_util" class="btn-group" role="group"> <!-- 用户 相关页面 --> <div class="btn-group"> <button class="lu-btn btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"> <span class="glyphicon glyphicon-user"></span> </button> <ul class="dropdown-menu"> <li><a id="lu-user" accesskey="u">用户页面</a></li> <li><a id="lu-preferences" accesskey=""></span> 参数设置</a></li> <li><a id="lu-watchlist">监视列表</a></li> <li role="separator" class="divider"></li> <li><a id="lu-mycontris">我的贡献</a></li> </ul> </div> <!-- 特殊页面 --> <div class="btn-group"> <button class="lu-btn btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"> <span class="glyphicon glyphicon-tasks"></span> </button> <ul class="dropdown-menu"> <li><a id="lu-specialpages"> 特殊页面</a></li> <li><a id="lu-recentchanges"> 最近更改</a></li> <li><a id="lu-allPages"> 所有页面</a></li> <li><a id="lu-filelist"> 文件列表</a></li> <li><a id="lu-contriscore"> 贡献得分</a></li> <li role="separator" class="divider"></li> <li><a id="lu-templates"> 模板</a></li> <li><a id="lu-modules"> 模块</a></li> </ul> </div> <!-- Wiki 设置和管理 --> <div class="btn-group"> <button class="lu-btn btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"> <span class="glyphicon glyphicon-cog"></span> </button> <ul class="dropdown-menu"> <li><a id="lu-moderation"> 版主审核</a></li> <li><a id="lu-comments"> 管理评论</a></li> <li><a id="lu-userrights"> 用户权限</a></li> <li role="separator" class="divider"></li> <li><a id="lu-Commoncss" href="MediaWiki:Common.css" target="_blank"> 通用css</a></li> <li><a id="lu-Commonjs" href="MediaWiki:Common.js" target="_blank"> 通用js</a></li> <li><a id="lu-Sitenotice" href="Mediawiki:Sitenotice" target="_blank"> 整站通告定义</a></li> <li><a id="lu-Sidebar" href="MediaWiki:Sidebar" target="_blank"> 导航栏定义</a></li> <li><a id="lu-Gadgets" href="MediaWiki:Gadgets-definition" target="_blank"> 小组件定义</a></li> <li role="separator" class="divider"></li> <li><a id="lu-Newarticletext" href="MediaWiki:Newarticletext" target="_blank"> 新页面提示</a></li> <li><a id="lu-Editnotice0" href="MediaWiki:Editnotice-0" target="_blank"> 页面修改提示</a></li> <li><a id="lu-Deletereason" href="MediaWiki:Deletereason-dropdown" target="_blank"> 页面删除原因</a></li> <li><a id="lu-Protect" href="MediaWiki:Protect-dropdown" target="_blank"> 页面保护原因</a></li> <li><a id="lu-Copyrightwarning2" href="MediaWiki:Copyrightwarning2" target="_blank"> 页面编辑版权警示</a></li> <li><a id="lu-Summary" href="MediaWiki:Summary" target="_blank"> 页面修改摘要</a></li> <li><a id="lu-Uploadtext" href="MediaWiki:Uploadtext" target="_blank"> 文件上传提示</a></li> <li><a id="lu-Licenses" href="MediaWiki:Licenses" target="_blank"> 文件上传协议</a></li> <li><a id="lu-Filedelete" href="MediaWiki:Filedelete-reason-dropdown" target="_blank"> 文件删除原因</a></li> </ul> </div> <!-- 页面相关操作 --> <div class="btn-group"> <button class="lu-btn btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"> <span class="glyphicon glyphicon-edit"></span> </button> <ul class="dropdown-menu"> <li><a id="lu-edit"> 编辑 (Shift+Alt+E)</a></li> <li><a id="lu-history"> 历史 (Shift+Alt+H)</a></li> <li><a id="lu-sortlink"> 短链接</a></li> <li role="separator" class="divider"></li> <li><a id="lu-purge"> 刷新</a></li> <li><a id="lu-protect"> 保护</a></li> <li><a id="lu-delete"> 删除 (Shift+Alt+D)</a></li> <li role="separator" class="divider"></li> <li><a id="lu-linkshere"> 入链</a></li> <li><a id="lu-relatedchanges"> 相关更改</a></li> <li role="separator" class="divider"></li> <li><a id="lu-watch"> 监视</a></li> <li><a id="lu-unwatch"> 取消监视</a></li> <li><a id="lu-log"> 日志</a></li> <li><a id="lu-info"> 信息</a></li> <li><a id="lu-properties"> 属性</a></li> <li role="separator" class="divider"></li> </ul> </div> </div> `; /* 当前 wiki 的 url */ var wikiurl = "https://wiki.biligame.com/" + mwcfg("wgGameName") + "/"; function mwcfg(key){/* 按key从mediaWiki获取配置 */ return mediaWiki.config.get(key); } function open(url) {/* 在新页面打开url */ window.open(url, '_blank').focus(); } function onclick(elm_id, func) {/* 为ID元素增加点击事件 */ document.getElementById(elm_id).addEventListener("click", func); } function linkto(elm_id, url) {/* 为某ID的A元素增加href */ document.getElementById(elm_id).href = wikiurl + url; document.getElementById(elm_id).target = '_blank'; } function addClickEvents(){ /* 为所有列表项添加A标签的href链接 */ var username = mwcfg("wgUserName"); var pagename = mwcfg("wgPageName"); var pageid = mwcfg("wgArticleId"); linkto("lu-user","用户:" + username); linkto("lu-preferences","特殊:参数设置"); linkto("lu-mycontris","特殊:用户贡献/" + username); linkto("lu-watchlist","特殊:监视列表"); linkto("lu-specialpages","特殊:特殊页面"); linkto("lu-recentchanges","特殊:最近更改"); linkto("lu-allPages","特殊:所有页面"); linkto("lu-filelist","特殊:文件列表"); linkto("lu-contriscore","特殊:贡献得分"); linkto("lu-templates","特殊:模板"); linkto("lu-modules","特殊:所有页面?namespace=828"); linkto("lu-moderation","特殊:Moderation"); linkto("lu-comments","特殊:管理FlowThread评论"); linkto("lu-userrights","特殊:用户权限"); linkto("lu-purge",pagename + "?action=purge"); linkto("lu-edit",pagename + "?action=edit"); linkto("lu-delete",pagename + "?action=delete"); linkto("lu-protect",pagename + "?action=protect"); linkto("lu-history",pagename + "?action=history"); linkto("lu-watch",pagename + "?action=watch"); linkto("lu-unwatch",pagename + "?action=unwatch"); linkto("lu-info",pagename + "?action=info"); linkto("lu-sortlink","?curid=" + pageid); linkto("lu-linkshere","特殊:链入页面/" + pagename); linkto("lu-relatedchanges","Special:最近链出更改?target=" + pagename); linkto("lu-log","Special:日志?page=" + pagename); linkto("lu-properties","特殊:浏览/" + pagename); linkto("lu-Commoncss","MediaWiki:Common.css"); linkto("lu-Commonjs","MediaWiki:Common.js"); linkto("lu-Sitenotice","MediaWiki:Sitenotice"); linkto("lu-Sidebar","MediaWiki:Sidebar"); linkto("lu-Gadgets","MediaWiki:Gadgets-definition"); linkto("lu-Newarticletext","MediaWiki:Newarticletext"); linkto("lu-Editnotice0","MediaWiki:Editnotice-0"); linkto("lu-Deletereason","MediaWiki:Deletereason-dropdown"); linkto("lu-Protect","MediaWiki:Protect-dropdown"); linkto("lu-Copyrightwarning2","MediaWiki:Copyrightwarning2"); linkto("lu-Summary","MediaWiki:Summary"); linkto("lu-Uploadtext","MediaWiki:Uploadtext"); linkto("lu-Licenses","MediaWiki:Licenses"); linkto("lu-Filedelete","MediaWiki:Filedelete-reason-dropdown"); } function main(){ /* main part */ try { // statements to try console.log('开始初始化 List Util '); let need_tool = document.getElementsByClassName("mediawiki").length; if (need_tool > 0){ var html = document.createElement('div'); html.innerHTML = innerHTML document.body.appendChild(html); addClickEvents(); // 为列表中的 短链接 文字后边添加 页面id document.getElementById("lu-sortlink").innerHTML += " ("+ mwcfg("wgArticleId") + ")"; // 在控制台显示加载完成 console.log("%c power by tampermonkey %c ListUtil 加载完成 %c create by Lu (39886146)", "padding: 3px; font-size:0.8em; background: #FFE1AB;", "color: #fff; padding: 10px 10px; background: #FF8E00;", "padding: 3px; background: #FFE1AB;"); /* fix .dropdown-menu css. The BwikiBatchEditor remiss set css for all .dropdown-menu Solution is : when "#list_util .btn" is click, clear inline css for "#list_util .dropdown-menu". */ const lu_buttons = document.querySelectorAll('#list_util .btn'); lu_buttons.forEach(lu_btn => { lu_btn.addEventListener('click', function(){ document.querySelectorAll('#list_util .dropdown-menu').forEach(menu => { menu.style=""; }); }); }); }else{ console.log('未找到 mediawiki class 页面,不加载 ListUtil '); } }catch (e) { console.log("List Util 遇到错误,异常退出……") console.log("List Util 遇到的错误是:") console.log(e) try { document.getElementById("list_util").outerHTML = ""; }catch (e) {} } } // 入口 setTimeout(function (){ main(); }, 500); // timeout 是为了等待 mw 加载,否则会偶见无法获取 mw 。
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址