「MediaWiki:Gadgets-definition」與「MediaWiki:Mobile.js」:頁面間的差異
(頁面間的差異)
跳至導覽
跳至搜尋
imported>=海豚= ([InPageEdit] 没有编辑摘要) |
imported>=海豚= 無編輯摘要 |
||
第1行: | 第1行: | ||
== | // <pre> | ||
/* 这里的任何JavaScript将只在移动端加载 */ | |||
(function($, mw) { //使用匿名函数以避免污染顶级变量 | |||
/* 函数定义体 */ | |||
//用户资料页相关 | |||
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(); | |||
} | |||
//uuid | |||
function uuidv4() { | |||
var result; | |||
do { | |||
result = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function(c) { | |||
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16); | |||
}); | |||
} while (document.querySelector('a[data-linkid="' + result + '"]')); | |||
return result; | |||
} | |||
// Mobile Navmenu by GFwiki | |||
function menuadjust(){var a = $("body").height()+"px";document.getElementById("mw-mf-page-left").style.height = a;}; | |||
$(function(){menuadjust();}); | |||
$(window).resize(function(){menuadjust()}); | |||
var navbar = function(data, textStatus, jqxhr) { | |||
var navlist = data.parse.text["*"]; | |||
$(navlist).insertBefore(".menu > .hlist") | |||
}; | |||
var mfSidebar = function() { | |||
var purl = "/api.php?action=parse&page=MediaWiki:MFSidebar&format=json"; | |||
$.ajax({ | |||
url: purl, | |||
success: navbar, | |||
error: function () {console.error("can\'t load customized navmenu")}, | |||
dataType: "json" | |||
}); | |||
}; | |||
$(function(){mfSidebar();}); | |||
/* 函数执行体 */ | |||
$(function() { | |||
//页顶提示模板相关 | |||
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(); | |||
}); | |||
//桌面版页面外链改为移动端域名 | |||
mw.loader.using("mediawiki.Uri").then(function() { | |||
$('a[target="_blank"]').each(function() { | |||
var url = new mw.Uri(this.href); | |||
if (url.host === "www.hmoegirl.com" && url.query.mobileaction !== "toggle_view_desktop") { | |||
url.host = "m.hmoegirl.com"; | |||
this.href = url; | |||
} | |||
}); | |||
}); | |||
}); | |||
})(jQuery, mediaWiki); //立即执行匿名函数并传递原始变量 | |||
// </pre> |
於 2020年6月6日 (六) 10:39 的修訂
// <pre>
/* 这里的任何JavaScript将只在移动端加载 */
(function($, mw) { //使用匿名函数以避免污染顶级变量
/* 函数定义体 */
//用户资料页相关
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();
}
//uuid
function uuidv4() {
var result;
do {
result = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function(c) {
return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
});
} while (document.querySelector('a[data-linkid="' + result + '"]'));
return result;
}
// Mobile Navmenu by GFwiki
function menuadjust(){var a = $("body").height()+"px";document.getElementById("mw-mf-page-left").style.height = a;};
$(function(){menuadjust();});
$(window).resize(function(){menuadjust()});
var navbar = function(data, textStatus, jqxhr) {
var navlist = data.parse.text["*"];
$(navlist).insertBefore(".menu > .hlist")
};
var mfSidebar = function() {
var purl = "/api.php?action=parse&page=MediaWiki:MFSidebar&format=json";
$.ajax({
url: purl,
success: navbar,
error: function () {console.error("can\'t load customized navmenu")},
dataType: "json"
});
};
$(function(){mfSidebar();});
/* 函数执行体 */
$(function() {
//页顶提示模板相关
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();
});
//桌面版页面外链改为移动端域名
mw.loader.using("mediawiki.Uri").then(function() {
$('a[target="_blank"]').each(function() {
var url = new mw.Uri(this.href);
if (url.host === "www.hmoegirl.com" && url.query.mobileaction !== "toggle_view_desktop") {
url.host = "m.hmoegirl.com";
this.href = url;
}
});
});
});
})(jQuery, mediaWiki); //立即执行匿名函数并传递原始变量
// </pre>