2023年政策修订增补工作正在进行中,欢迎参与!
User:NHJR/common.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
- Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
- Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
- Opera:在“工具→首选项”中清除缓存
- 如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 添加代码后的本页地址如下:
-{R|https://moegirl.icu/User:NHJR/common.js?_=1}-
(function ($, mw) {
//加载内链脚本
function loadLocal(path, type){
var pageTitle = encodeURIComponent(path);
mw.loader.load("https://zh.moegirl.org.cn/index.php?title=" + pageTitle + "&action=raw&ctype=" + type, type);
}
//是否为移动版
var isMobile = window.location.href.indexOf("mzh.moegirl.org") != -1;
var isEditPage = window.location.href.indexOf("action=edit") != -1;
var isDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
console.log("加载环境: 移动版:" + (isMobile ? "是" : "否") + " 编辑页:" + (isEditPage ? "是" : "否"));
function mobile(onMobile){
if(isMobile){
onMobile();
}
}
function desktop(onDesktop){
if(!isMobile){
onDesktop();
}
}
//添加Navbox
function addNavbox(){
var pageName = mw.config.get("wgPageName");
$.get("https://mzh.moegirl.org.cn/api.php",{action:"parse",page:pageName,format:"json"},function(data,status){
if(status == "success"){
var desktopView = $(JSON.parse(data.replace("\"*\"","\"data\"")).parse.text.data);
var navbox = desktopView.find(".navbox");
navbox.each(function(){
//查论编
var viewTemplateLink = $(this).find("div.hlist.navbar").first();
var templateView = $("<div class=\"plainlinks myNavbar\">[本模板:</div>");
templateView.append($(viewTemplateLink.html()));
templateView.append("]");
templateView.find("span").removeAttr("style");
var wrapper = $("<div class=\"mobileNavboxWrap\"></div>");
wrapper.append(templateView);
wrapper.append($(this));
$("div.mw-parser-output").first().append(wrapper);
if($(this).hasClass("largeNavbox")){
$(this).find("th.navbox-title").first().on("DOMNodeInserted", function(event){
console.log(event);
var target = $(event.target);
var currentNavbox = target.parents(".navbox").first();
if(currentNavbox.hasClass("largeNavboxButtonMoved")){
return;
}
if(target.hasClass("largeNavbox-toggle")){
target.attr("eventIndex", function(n,v){
v = v || 0;
return v * 1 + 1;
});
// 我也不知道为什么但是这个事件就是tmd会发生三次
if(target.attr("eventIndex") == "3"){
currentNavbox.parent().find(".myNavbar").append(target);
currentNavbox.addClass("largeNavboxButtonMoved");
// 原代码中css()在所有append()之后
// 所以直接设置没有用
// 直接暴力timeout,又不是不能用
setTimeout(function (){
$(".largeNavbox-toggle").removeAttr("style");
},100);
}
}
});
}
});
navbox.ready(function (){
mw.loader.using("jquery.makeCollapsible").then(function (){
$(".mw-collapsible").makeCollapsible();
});
});
}else{
alert("发生甚么事了");
}
},"text");
}
mobile(function(){
if($("div.mw-parser-output")[0] !== undefined){
var currentNavbox = $(document).find(".navbox");
if(currentNavbox.length === 0){
addNavbox();
}
}
});
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return undefined;
}
mobile(function(){
loadLocal("User:NHJR/Mobile.css","text/css");
});
mobile(function(){
$(".content table[style*=float]").css("width","100% !important");
});
mobile(function(){
var forceDark = getQueryVariable("forceDark");
if(forceDark == "0" || forceDark == "false"){
forceDark = false;
}
if(forceDark === undefined){
forceDark = isDark;
}
if(forceDark){
//alert("夜间模式!");
makeDark();
}
});
function makeDark(){
loadLocal("User:NHJR/MobileDark.css", "text/css");
}
window.makeDark = makeDark;
})(jQuery, mediaWiki);