注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
/* 参考的BWiki碧蓝航线*/
/* 加载测试用js/css,稳定后加入Common.js/css */
mw.loader.load("//wiki.biligame.com/blhx/index.php?title=MediaWiki:Test.js&action=raw&ctype=text/javascript", "text/javascript");
mw.loader.load("//wiki.biligame.com/blhx/index.php?title=Mediawiki:Test.css&action=raw&ctype=text/css", "text/css");
/*= 解决jQuery冲突问题 =*/
/* --编辑摘要-- */
//参考Wikipedia:MediaWiki:Common.js/edit.js
if (mw.config.get('wgAction') == "edit" || mw.config.get('wgAction') == "submit" || mw.config.get('wgCanonicalSpecialPageName') == 'Search') { // 编辑页面
( function( $, mw ) { $( function() {
if ( $( '#editform input[name=wpSection]' ).val() === 'new' ) {
if ( $( '#no-new-title' ).length ) {
$( '#wpSummary' ).attr( 'disabled', true );
}
return;
}
$( '#wpSummaryLabel .mw-summary-preset' ).on( 'click', '.mw-summary-preset-item a', function( e ) {
e.preventDefault();
var $this = $( this ), summary = $( '#wpSummary' ).val();
var $item = $this.parent( '.mw-summary-preset-item' );
summary = summary.replace( /\s+$/g, '' );
if ( summary != '' ) {
summary += ' ';
}
summary += $item.attr( 'title' ) || $this.text();
$this.replaceWith( $this.contents() );
$( '#wpSummary' ).val( summary ).focus();
} );
} ); } )( jQuery, mediaWiki );
}
/* -- B站视频 --*/
var BiliVideo=document.getElementsByClassName("BiliVideo")
for(var i=0,ilen=BiliVideo.length;i<ilen;i++){
var v=BiliVideo[i].dataset.v
if(!isNaN(v)){
v="aid="+v
}
else if(/^av[0-9]+$/i.test(v)){
v="aid="+v.substr(2)
}
else if(/^bv[a-z0-9]+$/i.test(v)){
v="bvid=BV"+v.substr(2)
}
else{
v="bvid=BV"+v
}
var p="page="+(Number(BiliVideo[i].dataset.p)||1)
var w=Number(BiliVideo[i].dataset.w)||600
var h=Number(BiliVideo[i].dataset.h)||421
BiliVideo[i].innerHTML='<iframe src="//player.bilibili.com/player.html?'+v+'&'+p+'&autoplay=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" width="'+w+'" height="'+h+'" style="max-width:100%;max-height:60vw;"></iframe>'
}
/* --首页新闻滚动--
if ($(".marquee_item").length > 0) {
var itemparent = $(".marquee_item").first().parent()
var itemlist = $(".marquee_item").remove()
itemparent.append("<marquee></marquee>").children("marquee").prepend(itemlist)
}*/
var nsNum = mw.config.exists('wgNamespaceNumber')
? mw.config.get('wgNamespaceNumber')
: -1;
//命名空间:主要、模板
if (nsNum == -1 || nsNum == 0 || nsNum == 10) {
/* --Tab标签页-- 已改为ResourceLoader加载*/
/* mw.loader.load("https://wiki.biligame.com/blhx/index.php?title=MediaWiki:Tab.js&action=raw&ctype=text/javascript"); */
}
//命名空间:主要
if (nsNum == -1 || nsNum == 0) {
/* --声明-- */
mw.loader.load("https://wiki.biligame.com/blhx/index.php?title=MediaWiki:CC_BY-NC-SA.js&action=raw&ctype=text/javascript");
}
/* -- 验证上传文件 --*/
$(function() {
if (mw.config.get('wgPageName') === '特殊:上传文件') {
mw.loader.load("https://wiki.biligame.com/blhx/index.php?title=MediaWiki:UploadValidation.js&action=raw&ctype=text/javascript");
}
});
window.onload=function(){
/* --页面加载完毕后加载-- */
/* --Clear Body-- */
if(document.getElementById("clearbody")){
document.body.innerHTML=document.getElementById("clearbody").innerHTML
}
/* --{{模板:网易云音乐}}-- */
createMusic163OutChain()
/* --页面加载完毕后加载(完)-- */
}
//添加【信息】按钮来查看页面的属性信息
$(function(){
var $ca = $('#p-cactions > ul.menu > li#ca-history');
var href = $ca.children('a').attr('href');
if ($ca[0] && href) {
$ca.after('<li id="ca-info"><a href="'
+ href.replace('action=history','action=info')
+'" title="本页面的信息">信息</a></li>'
)
}
});
/* -- 为页面加载JS脚本或CSS样式表 -- */
/* 参见[[模板:ResourceLoader]]*/
/* 将相关代码用改为DOM加载完成后运行,解决部分情况
模板:ResourceLoader加载不完全的问题 -- 芙兰朵露琪露诺 2021/8/11*/
function templateResourceLoader() {
$('.resourceLoader').each(function() {
var $x = $(this);
var text = $.trim($x.text());
if (!text) return;
//加载模块
if ($x.data('isModule') == true)
return mw.loader.load(text);
//自动补充MediaWiki命名空间
var ns = text.match('^.*?:');
if (!ns) text = 'MediaWiki:' + text;
//加载CSS样式表
var mime = ($x.data('mime') || "text/javascript").toLowerCase();
if (mime == "text/css") {
if (text.slice(-4).toLowerCase() !== '.css') text = text + '.css';
//if ($x.data('debug') !== true) text = text + '&debug=false';
return mw.loader.load("//wiki.biligame.com/blhx/index.php?title="+text+"&action=raw&ctype=text/css", "text/css");
}
//加载JS脚本
if (ns && ns[0].toLowerCase() !== 'mediawiki:') {
return console.log('ResourceLoader: 不允许加载MediaWiki以外的js脚本');
}
if (text.slice(-3).toLowerCase() !== '.js') text = text + '.js';
console.log('ResourceLoader: 加载' + text);
//if ($x.data('debug') !== true) text = text + '&debug=false';
return mw.loader.load("//wiki.biligame.com/blhx/index.php?title="+text+"&action=raw&ctype=text/javascript", "text/javascript");
});
}
function loadAfterDOM(func) {
if (document.readyState == 'loading') {
document.addEventListener('DOMContentLoaded', func);
} else {
func();
}
}
loadAfterDOM(templateResourceLoader);
/* 加载常用ResourceLoader JS模块 */
function loadCommonJS() {
mw.loader.load("//wiki.biligame.com/blhx/index.php?title=MediaWiki:HashTab.js&action=raw&ctype=text/javascript", "text/javascript");
console.log('ResourceLoader: 加载MediaWiki:HashTab.js');
}
loadAfterDOM(loadCommonJS);
/* 活动船自助标记 */
eventShipMarkTable=document.getElementsByClassName("eventShipMark")
eventShipMark=new Array()
for(i=0;i<eventShipMarkTable.length;i++){
eventShipMark[i]=eventShipMarkTable[i].getElementsByTagName("tr")
for(j=0;j<eventShipMark[i].length;j++){
eventShipMark[i][j].onclick=function(){
if(this.style.opacity=="0.2"){
this.style.opacity="1"
}
else{
this.style.opacity="0.2"
}
}
}
}
/* --直播提醒--
Airtime="2020/9/12 19:00:00" //直播时间
Airinfo="「碧蓝航线日服三周年」直播" //直播名称
Airlink="https://live.bilibili.com/775277" //直播地址
Airremind=self.setInterval(function(){
if(new Date(Airtime).getTime()-new Date().getTime()-(8+new Date().getTimezoneOffset()/60)*60*60*1000<=3*60*1000&&new Date(Airtime).getTime()-new Date().getTime()-(8+new Date().getTimezoneOffset()/60)*60*60*1000>=-3*60*1000){ //开播前3分钟到开播后3分钟之间
if(getCookie("Airreminded")!=1){ //检查是否提醒过
Airremindexpires=new Date()
Airremindexpires.setTime(Airremindexpires.getTime()+60*60*1000)
document.cookie="Airreminded=1;expires="+Airremindexpires.toGMTString() //只会提醒一次
if(new Date(Airtime).getTime()-new Date().getTime()-(8+new Date().getTimezoneOffset()/60)*60*60*1000<=3*60*1000&&new Date(Airtime).getTime()-new Date().getTime()-(8+new Date().getTimezoneOffset()/60)*60*60*1000>=0){
isAiring="即将开播"
}
else {
isAiring="正在直播"
}
Airjump=confirm(Airinfo+"\n"+isAiring+"\n是否跳转?") //信息
if(Airjump){
openWindow(Airlink) //点确定跳转
}
}
window.clearInterval(Airremind) //停止检查
}
else if(new Date(Airtime).getTime()-new Date().getTime()-(8+new Date().getTimezoneOffset()/60)*60*60*1000<-3*60*1000){ //开播后3分钟
window.clearInterval(Airremind) //停止检查
}
},1000)
function getCookie(c_name){
if(document.cookie.length>0){
c_start=document.cookie.indexOf(c_name+"=")
if(c_start!=-1){
c_start=c_start+c_name.length+1
c_end=document.cookie.indexOf(";",c_start)
if(c_end==-1){
c_end=document.cookie.length
}
return unescape(document.cookie.substring(c_start,c_end))
}
}
return ""
}
function openWindow(url){
var link=document.createElement("a")
link.target="_blank"
link.href=url
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}*/
/*-- 载入有道网页翻译功能
NeedT=document.getElementById("translationBTN")
if(NeedT){
NeedT.href="javascript:void((function(){var a=document.createElement('script');a.id='outfox_seed_js';a.charset='utf-8',a.setAttribute('src','http://fanyi.youdao.com/web2/seed.js?'+Date.parse(new Date()));document.body.appendChild(a)})())"
}
--*/
/*-- 将类名为shikikanname的元素的内容改变为当前用户名 --*/
$(document).ready(function() {
shikikannamespan=document.getElementsByClassName("shikikanname")
if (UserStatus.userInfo) {
shikikanname=UserStatus.userInfo.uname
for(i=0;i<shikikannamespan.length;i++){
shikikannamespan[i].innerHTML=shikikanname
}
} else {
function waitForName(){
if(typeof UserStatus.userInfo !== "undefined"){
shikikanname=UserStatus.userInfo.uname
for(i=0;i<shikikannamespan.length;i++){
shikikannamespan[i].innerHTML=shikikanname
}
}
else{
setTimeout(waitForName, 1000);
}
}
waitForName()
}
// if(!shikikanname){
// shikikanname="指挥官"
// }
// for(i=0;i<shikikannamespan.length;i++){
// shikikannamespan[i].innerHTML=shikikanname
// }
});
/*-- 重新加载flowthread插件修复js加载过早导致的评论区缺失 --*/
$(document).ready(function() {
if (nsNum == 0) {
mw.loader.using('ext.flowthread').then(function () {
setTimeout(function() {
if (!$(".post-content").length) {
if (!$(".post-content").length) {
mw.loader.load('https://wiki.biligame.com/blhx/load.php?lang=zh-cn&modules=ext.flowthread&only=scripts&raw=1&skin=vector', 'text/javascript')
setTimeout(function() {
if ($('.post-content').length > 1) {
$('.post-content')[0].remove();
}
}, 2000);
}
}
} ,2000);
});
}
});
/*-- 为手机端非登录用户在导航添加登录按钮 --*/
$(document).ready(function() {
if(mw.config.get('wgUserName')===null){
loginli=document.createElement("li");
loginli.classList.add("li-menu-1");
loginli.innerHTML="<a class='menu-title' style='border-radius:5px;background-color:#00B5E5;color:white;text-align:center' href='https://passport.bilibili.com/login'>登录</a>"
document.getElementsByClassName("m-nav")[0].getElementsByClassName("ul-menu-1")[0].insertBefore(loginli,document.getElementsByClassName("m-nav")[0].getElementsByClassName("ul-menu-1")[0].getElementsByClassName("li-menu-1")[0]);
}
});
/* --修正equip.js引起的选项卡面板无法嵌套-- */
$(document).ready(function() {
setTimeout(function() {
$(document).off("click", ".nav-tabs > li");
//$.conflict()(document).off("click", ".nav-tabs > li");
} ,500);
});
/* --临时修正jsDelivr被墙导致的国内用户TeX公式无法渲染问题-- */
$(document).ready(function() {
setTimeout(function() {
if(window.MathJax && window.MathJax.tex!==undefined) {
window.MathJax.loader={load:[]};
mw.loader.load("//wiki.biligame.com/blhx/index.php?title=MediaWiki:Tex-chtml.js&action=raw&ctype=text/javascript", "text/javascript");
}
} ,500);
});
biliUserName = {}
/*将UID数字替换为B站个人动态页面 源自CQ WIKI*/
$(document).ready(function() {
if($(".mw-userlink").length>0){
$(".mw-userlink bdi").each(function(){
var uid = $(this).html().replace(/\(/i,"").replace(/\)/i,"");
$(this).parent("a").attr("href","https://space.bilibili.com/"+uid+"/").attr("title","TA的B站空间").attr("target","_blank");
//console.log(uid);
if(biliUserName[uid] === undefined) {
biliUserName[uid] = [];
}
biliUserName[uid].push(this)
$(this).html("");
});
//临时修复编辑历史缺失用户名问题
var api = new mw.Api();
function fillName (name, field) {
for (var i = 0; i < field.length; i++) {
field[i].innerText = name;
}
}
var query = "";
for (var i in biliUserName) {
query += '{{#tag:bilicontributors|'+ i +'}}}';
}
api.get({
action: "parse",
text: query
}).then(function(ret) {
var wrapper= document.createElement('div');
wrapper.innerHTML= ret.parse.text['*'];
var list = wrapper.getElementsByClassName('user-follow-wrap');
list.forEach(function(item) {
var uid = parseInt(item.querySelector('.detail-follow').attributes.fid.value);
var name = item.querySelector('.des-name').innerText;
fillName(name, biliUserName[uid]);
});
});
}
});
/*检测js是否正常加载*/
$(document).ready(function() {
setTimeout(function() {
document.getElementById("wiki-resourceloader-check").style.display="none";
var purgeThisPage = document.getElementById("PurgeThisPageSiteNotice")
if (purgeThisPage) {
var link = purgeThisPage.children[0]
link.href = link.href.replace("FullPageName", mw.config.values.wgPageName)
}
} ,2000);
});