MediaWiki:Mobile.js
跳到导航
跳到搜索
注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 按住
CTRL+SHIFT+DEL 或 ⌘-Shift-R
来清除缓存! - 或尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。- 添加代码后的本页地址如下:
-{R|https://hmoegirl.com/MediaWiki:Mobile.js?_=1}-
- 添加代码后的本页地址如下:
- 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
1. | 桌面版CSS | MediaWiki:Common.css |
2. | 桌面版JS | MediaWiki:Common.js |
3. | 移动端CSS | MediaWiki:Mobile.css |
4. | 移动端JS | MediaWiki:Mobile.js |
5. | 全局共用CSS | MediaWiki:Gadget-site-styles.css |
6. | 全局共用JS | MediaWiki:Gadget-site-javascript.js |
7. | 管理员CSS | MediaWiki:Group-sysop.css |
8. | 管理员JS | MediaWiki:Group-sysop.js |
9. | 编辑时载入 | MediaWiki:Common.js/edit.js |
引用api时用
mw.loader.using("mw.Api")
,引用uri时用mw.loader.using("mediawiki.Uri")
。// <pre>
/* 这里的任何JavaScript将只在移动端加载
* 请尊重萌娘百科版权,以下代码复制需要注明原自萌娘百科,并且附上URL地址http://zh.moegirl.org/MediaWiki:Common.js
* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0
*/
/* 维护者请注意,由于可视化编辑器已不起作用,电脑端可以直接跳转到源代码编辑,可移动端无法跳转,失去了编辑的功能,所以默认在移动端启用了InPageEdit小工具,具体使用方法见帮助。----2020年3月11日留。 */
(function ($, mw) { //使用匿名函数以避免污染顶级变量
/* 函数定义体 */
//Tabs
function tabs() {
var defaultStyle = {
purple: {
labelColor: " ", //anti check
labelBackgroundColor: "#9070c0",
labelBorderColor: "#b090e0 #7050a0 #9070c0 #b090e0",
labelPadding: ".2em .3em .2em .3em",
textBorderColor: "#9070c0",
textBackgroundColor: "#f0edf5",
textPadding: "1em",
},
green: {
labelColor: " ",
labelBackgroundColor: "#75c045",
labelBorderColor: "#90d060 #60b030 #75c045 #90d060",
labelPadding: ".2em .3em .2em .3em",
textBorderColor: "#75c045 #60b030 #60b030 #75c045",
textBackgroundColor: "#f5fffa",
textPadding: "1em",
},
red: {
labelColor: " ",
labelBackgroundColor: "#FF0000",
labelBorderColor: "#FF8888 #CC0000 #FF0000 #FF8888",
labelPadding: ".2em .3em .2em .3em",
textBorderColor: "#FF0000 #CC0000 #CC0000 #FF0000",
textBackgroundColor: "#fffafa",
textPadding: "1em",
},
blue: {
labelColor: " ",
labelBackgroundColor: "#5b8dd6",
labelBorderColor: "#88abde #3379de #5b8dd6 #88abde",
labelPadding: ".2em .3em .2em .3em",
textBackgroundColor: "#f0f8ff",
textBorderColor: "#5b8dd6 #3379de #3379de #5b8dd6",
textPadding: "1em",
},
yellow: {
labelColor: " ",
labelBackgroundColor: "#ffe147",
labelBorderColor: "#ffe977 #ffd813 #ffe147 #ffe977",
labelPadding: ".2em .3em .2em .3em",
textBackgroundColor: "#fffce8",
textBorderColor: "#ffe147 #ffd813 #ffd813 #ffe147",
textPadding: "1em",
},
orange: {
labelColor: " ",
labelBackgroundColor: "#ff9d42",
labelBorderColor: "#ffac5d #ff820e #ff9d42 #ffac5d",
labelPadding: ".2em .3em .2em .3em",
textBackgroundColor: "#ffeedd",
textBorderColor: "#ff9d42 #ff820e #ff820e #ff9d42",
textPadding: "1em",
},
black: {
labelColor: " ",
labelBackgroundColor: "#7f7f7f",
labelBorderColor: "#999999 #4c4c4c #7f7f7f #999999",
labelPadding: ".2em .3em .2em .3em",
textBackgroundColor: "#e5e5e5",
textBorderColor: "#7f7f7f #4c4c4c #4c4c4c #7f7f7f",
textPadding: "1em",
},
};
$("body").addClass("tab");
// A Class
function StyleSheet() {}
StyleSheet.prototype.getOwnPropertyNamesLength = function getOwnPropertyNamesLength() {
return Object.getOwnPropertyNames(this).length;
};
String.prototype.toLowerFirstCase = function toLowerFirstCase() {
return this[0].toLowerCase() + this.substring(1);
};
$(".Tabs").each(function() {
if ($(this).children(".TabLabel")[0]) { return true; }
var self = $(this),
classList = Array.from(this.classList).filter(function(n) { return n in defaultStyle; }),
data = $.extend({
labelPadding: null,
labelBorderColor: null,
labelColor: null,
labelBackgroundColor: $("#content").css("background-color"),
textPadding: null,
textBorderColor: null,
textBackgroundColor: null,
defaultTab: 1,
}, classList[0] ? defaultStyle[classList[0]] || {} : {}, this.dataset || {}),
tabLabel = self.append('<div class="TabLabel"></div>').children(".TabLabel"),
tabContent = self.append('<div class="TabContent"></div>').children(".TabContent"),
labelPadding = data.labelPadding,
labelColor = data.labelColor,
styleSheet = {
label: new StyleSheet(),
text: new StyleSheet(),
},
defaultTab = parseInt(data.defaultTab);
self.children(".Tab").each(function() {
if ($(this).children(".TabLabelText").text().replace(/\s/g, "").length || $(this).children(".TabLabelText").children().length) {
$(this).children(".TabLabelText").appendTo(tabLabel);
$(this).children(".TabContentText").appendTo(self.children(".TabContent"));
}
$(this).remove();
});
if (isNaN(defaultTab) || defaultTab <= 0 || defaultTab > tabLabel.children(".TabLabelText").length) { defaultTab = 1; }
tabLabel.children(".TabLabelText").on("click", function() {
var label = $(this);
label.addClass("selected").siblings().removeClass("selected").css({
"border-color": "transparent",
"background-color": "inherit",
});
tabContent.children(".TabContentText").eq(tabLabel.children(".TabLabelText").index(label)).addClass("selected").siblings().removeClass("selected").removeAttr("style");
if (styleSheet.label.getOwnPropertyNamesLength()) { label.css(styleSheet.label); }
}).eq(defaultTab - 1).click();
if (labelPadding) { tabLabel.children(".TabLabelText").css("padding", labelPadding); }
["labelBorderColor", "labelBackgroundColor", "textPadding", "textBorderColor", "textBackgroundColor"].forEach(function(n) {
var target = /^label/.test(n) ? "label" : "text",
key = n.replace(target, "").toLowerFirstCase();
styleSheet[target][key] = data[n];
});
if (labelColor) {
styleSheet.label.borderTopColor = labelColor;
} else if (styleSheet.label.borderColor) {
styleSheet.label.borderTopColor = "green";
}
tabLabel.find(".selected").click();
if (styleSheet.text.getOwnPropertyNamesLength()) { tabContent.css(styleSheet.text); }
if (data.autoWidth === "yes") { self.css("display", "inline-block"); }
});
}
//用户资料页相关
function isUserProfile() {
return mw.config.get('wgCanonicalSpecialPageName') === "UserProfile" && mw.config.get('wgArticleId') === "0";
}
//页顶提示模板相关
function commonBoxs() {
if (window.mw && !!mw.config.get('wgNamespaceNumber')) return;
var contentParent = $('#mw-content-text')[0] ? $('#mw-content-text') : $('#content'),
commonBoxes = contentParent.find('.common-box');
if (!commonBoxes[0]) return;
var commonBoxContainer = $('<div id="commonBoxContainer"><div id="commonBoxInfo"></div></div>').prependTo(contentParent),
commonBoxList = $('<div id="commonBoxList"></div>').appendTo('#commonBoxInfo');
commonBoxes.each(function () {
var commonBoxButton = $('<div class="commonBoxButton"></div>').appendTo(commonBoxList),
commonBox = $(this);
commonBoxButton.data('element', commonBox).css({
'border-color': commonBox.css('border-left-color'),
'background-image': 'url(' + commonBox.find('tbody > tr > td:first-child img').prop('src') + ')',
}).on('click', function () {
if (commonBox.is(':visible')[0]) {
commonBoxes.hide();
$(this).add($(this).siblings()).removeClass('current');
commonBoxList.removeClass('open');
} else {
commonBoxes.filter(':visible').not(commonBox).hide();
commonBox.show();
$(this).toggleClass('current', commonBox.is(':visible')).siblings().removeClass('current');
commonBoxList.toggleClass('open', commonBox.is(':visible'));
}
});
}).appendTo(commonBoxContainer).hide();
}
//页顶提示模板相关
commonBoxs();
//用户资料页
if (isUserProfile()) {
var cardContainer = $('.card-container'),
containerImage = cardContainer.find('.card'),
containerImageFile = containerImage.find('a.image'),
containerImageCaption = containerImage.find('.caption');
containerImageCaption.css("padding", "0 8px");
containerImageFile.before('<div id="#containerImage" class="listThumb list-thumb-placeholder" style="text-align: center;"><img src="http://static.mengniang.org/common/a/a4/Placeholder-upload.png" style="height:32px" /></div>');
}
//黑幕
$('.heimu a').on("click", function () {
if (!$(this).closest('.heimu').is(':active, :focus')) return false;
});
//Template:hide
if ($('.mw-collapsible')[0]) mw.loader.using('jquery.makeCollapsible').then(function () {
//console.debug('jquery.makeCollapsible is loaded.');
$('.mw-collapsible').makeCollapsible();
});
//链接提示
linkConfirm();
//防滥用即将删除
if (!mw.config.get('wgUserGroups').includes('sysop') && !mw.config.get('wgUserGroups').includes('patroller')) {
setInterval(function () {
if ($('#wikitext-editor')[0]) {
var target = $('#wikitext-editor');
if (target.data('isTrusted') !== true) {
target.data('isTrusted', true);
$('.editor-overlay').css('z-index', 3);
antiAbuse(target[0], $('.editor-overlay .header .header-action button.continue')[0], undefined);
}
}
}, 1000);
}
});
})(jQuery, mediaWiki); //立即执行匿名函数并传递原始变量
mw.loader.load('https://common.wjghj.cn/js/InPageEdit-v2');
// </pre>