「予你的,138亿年的星光。」
整个宇宙都翘首以盼的,星辰与旅途的歌谣。
全站通知:

MediaWiki:Common.js

来自蓝色星原:旅谣WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */
/* 加载测试用js,稳定后加入Common.js */
mw.loader.load("//wiki.biligame.com"+mw.config.values.wgScriptPath+"/index.php?title=MediaWiki:Main.js&action=raw&ctype=text/javascript", "text/javascript");

(window.RLQ = window.RLQ || []).push([["jquery"], function () {
    $(document).ready(function () {

// 修改favicon
try {
    $("link[rel='shortcut icon']").attr("href","https://patchwiki.biligame.com/images/ap/9/94/8h8nxhjr5s4as6e2pmgngpdkpk8l5pc.png");
} catch (error) {
	console.log('Error:', error);
}

//添加【信息】按钮来查看页面的属性信息
$(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>'
		)
	}
});

//将UID数字替换为B站个人动态页面,源自CQ WIKI
window.setupBiliUserLinks = function() {
    var biliUserName = {};
    $(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;
                    $(field[i]).parent().siblings('bdi').remove(); // 在填充用户名后移除bdi
                }
            }

            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]);
                });
            }).catch(function(error) {
                // API调用失败,显示UID
                for (var uid in biliUserName) {
                    var uidDisplayElements = biliUserName[uid];
                    uidDisplayElements.forEach(function(element) {
                        element.innerText = uid;
                    });
                }
                console.error("获取Bilibili用户名失败:", error);
            });
        }
    });
};
setupBiliUserLinks();

/* 技术处理外链 来源:异星工厂WIKI */
$("a").each(function(){
  	url=$(this).attr("href");
  	if(typeof(url)!="undefined"){
		key=["manjuu.com","azurpromilia.com","qq.com"];
		var status=false;
		key.forEach(function(k){
		    status=url.replace(/^.+linkfilter\/\?url=https*:\/\/([^\/]+).*$/ig, "$1").indexOf(k)>=0||status;
		});
		url=status?url.replace(/^.+linkfilter\/\?url=(.+)/g, "$1"):url;
		$(this).attr("href",url);
  	}
});

    });
}]);