LLWiki正在建设中,欢迎加入我们!
“User:Bhsd/minerva.js”的版本间差异
跳转到导航
跳转到搜索
小 |
小 (// 使用Wikiplus小工具快速编辑) 标签:移动版网页编辑 移动版编辑 |
||
(未显示2个用户的24个中间版本) | |||
第2行: | 第2行: | ||
// 拆分自[[Special:Mypage/common.js]],不可使用ES6语法 |
// 拆分自[[Special:Mypage/common.js]],不可使用ES6语法 |
||
"use strict"; |
"use strict"; |
||
/*global mw, $, VConsole*/ |
|||
$('h1').hover(function() { $(this).css('font-style', 'italic'); }, |
|||
function() { $(this).css('font-style', 'normal'); }); |
|||
mw.gadgets = mw.gadgets || {}; |
|||
mw.loader.using( 'jquery.client' ).then(function() { |
mw.loader.using( 'jquery.client' ).then(function() { |
||
if ($.client.profile().name == 'firefox') { |
|||
mw.gadgets = $.extend(mw.gadgets, {stickyHeading: {mode: 'desktop'}}); |
|||
mw.hook( 'wikipage.content' ).add(function($content) { |
|||
console.log('Hook: wikipage.content, Firefox开始移除黏性章节标题'); |
|||
$content.removeClass( 'stickyHeading' ); |
|||
}); |
|||
} |
|||
} |
|||
}); |
}); |
||
if (mw.config.get( 'wgArticleId' ) == 1521) { |
|||
// 直接进入讨论页 |
|||
mw.loader.using( ['oojs-ui-core', 'ext.gadget.site-lib'] ).then(function() { |
|||
$(function() { $('.talk').off( 'click' ).click(function(e) { e.stopImmediatePropagation(); }); }); |
|||
mw.tipsy( $('#bodyContent'), '.myTable td[data-sort-value]', {id: 'myTipsy'} ); |
|||
}); |
|||
mw.loader.using( 'mediawiki.util' ).then(function() { |
|||
} |
|||
// console |
|||
if (mw.util.getParamValue( 'vconsole' )) { |
|||
mw.loader.getScript( 'https://cdn.jsdelivr.net/npm/vconsole@3.3.4/dist/vconsole.min.js' ) |
|||
.then(function() { |
|||
new VConsole(); // jshint ignore: line |
|||
$('.vc-cmd-input').replaceWith( $('<textarea>', {class: 'vc-cmd-input'}) ); |
|||
}); |
|||
} |
|||
else { |
|||
$('<div>', {id: "__vconsole", html: $('<div>', {class: "vc-switch", text: "vConsole"})}).insertAfter( 'body' ) |
|||
.click(function() { |
|||
const href = location.href; |
|||
location.href = href + (href.includes( '?' ) ? '&' : '?') + 'vconsole=1'; |
|||
}); |
|||
} |
|||
mw.loader.using( ['mediawiki.util', 'skins.minerva.scripts'] ).then(function() { |
|||
const nsid = mw.config.get( 'wgNamespaceNumber' ), |
|||
const nsid = mw.config.get( 'wgNamespaceNumber' ), |
|||
specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ), |
|||
pageName = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ), |
|||
title = mw.util.wikiUrlencode( mw.config.get('wgTitle') ), |
|||
script = mw.config.get('wgScript'), |
|||
loadJs = function(page) { mw.loader.load(script + '?action=raw&ctype=text/javascript&title=' + page); }; |
|||
loadJs = function(page) { mw.loader.load(script + '?action=raw&ctype=text/javascript&title=' + page); }; |
|||
if (mw.config.get( 'wgArticleId' ) > 0 && mw.config.get('wgAction') == 'view') { |
|||
// 移动版强制章节折叠 |
|||
loadJs( 'user:bhsd/mobileCollapse.js' ); |
|||
} |
|||
} |
|||
else if (specialPage == "History") { |
|||
/* 移动版历史添加与当前对比链接 */ |
|||
// 移除多余的符号和空白字符 |
|||
$(function() { |
|||
const lastrevid = mw.util.getParamValue( 'offset' ) ? 'cur' : parseInt( $('.page-summary > a').first().attr( 'href' ).match(/\d+$/) ); |
|||
console.log('Hook: wikipage.content,开始移除多余字符'); |
|||
$('.list-thumb').append(function() { |
|||
$content.find( '.mw-changeslist-line-inner' ).contents().filter(function() { return this.nodeType == 3; }) |
|||
const oldid = parseInt( $(this).parent().attr( 'href' ).match( /\d+$/ ) ); |
|||
.remove(); |
|||
return oldid == lastrevid ? null : $('<p>').append( $('<a>', {text: "当前", |
|||
}); |
|||
href: '/zh/special:diff/' + oldid + '/' + lastrevid}) ); |
|||
} |
|||
}); |
|||
else if (specialPage == "History") { |
|||
}); |
|||
/* 移动版历史添加与当前对比链接 */ |
|||
} |
|||
const addDiffLink = function(lastrevid) { |
|||
$('.list-thumb').append(function() { |
|||
const oldid = parseInt( $(this).parent().attr( 'href' ).match( /\d+$/ ) ); |
|||
return oldid == lastrevid ? null : $('<p>').append( $('<a>', {text: "当前", |
|||
href: script + '/special:移动版差异/' + oldid + '...' + lastrevid }) ); |
|||
}); |
|||
}; |
|||
$(function() { |
|||
if ( !mw.util.getParamValue( 'offset' ) ) { |
|||
addDiffLink(parseInt( $('.page-summary > a').first().attr( 'href' ).match(/\d+$/) )); |
|||
return; |
|||
} |
|||
mw.loader.using( 'mediawiki.api' ).then(function() { |
|||
console.log('API request: 查询最新修订ID'); |
|||
const timerStart = mw.now(); |
|||
new mw.Api().get({ action: 'query', prop: 'info', titles: mw.config.get( 'wgRelevantPageName' ), |
|||
formatversion: 2 }).then(function(data) { |
|||
console.log('End API request: 已获得最新修订ID,用时 ' + (mw.now() - timerStart) + ' ms'); |
|||
addDiffLink(parseInt( data.query.pages[0].lastrevid )); |
|||
}, function(reason) { mw.notify('无法获得最新修订ID。错误信息:' + reason, {type: 'error'}); }); |
|||
}); |
|||
}); |
|||
} |
|||
const $menu = $('#mw-mf-page-left'), |
|||
/* 自定义移动版导航 */ |
|||
group = [ |
|||
mw.hook( 'mobile.menu' ).add(function($menu) { |
|||
{icon: 'fa fa-retweet', text: '替换文本', href: '/zh/Special:替换文本'}, |
|||
console.log('Hook: mobile.menu,开始添加自定义导航项目'); |
|||
{icon: 'fa fa-ban', text: '滥用过滤器', href: '/zh/Special:滥用过滤器'}, |
|||
$menu.find( '.mw-ui-icon-minerva-contributions' ).parent() |
|||
{icon: 'fas fa-external-link-alt', text: '链接搜索', href: '/zh?target=http://*&title=Special:链接搜索'}, |
|||
.after( $('<li>').append( $('<a>', {html: '<i class="fa fa-folder-open"></i><span>子页面</span>', |
|||
{icon: 'fa fa-users', text: '用户列表', href: '/zh?title=Special:用户列表&creationSort=1&desc=1'}, |
|||
{icon: 'fa fa-puzzle-piece', text: '版本', href: '/zh/Special:版本'} |
|||
}) ) ).after( $('<li>').append( $('<a>', {html: '<i class="fa fa-hourglass-half"></i><span>展开模板</span>', |
|||
], |
|||
href: script + '?title=Special:展开模板&wpRemoveComments=1&wpGenerateRawHtml=true&wpInput={{:' + pageName + '}}' |
|||
extraGroup = [ |
|||
}) ) ).after( $('<li>').append( $('<a>', {html: '<i class="fa fa-copy"></i><span>所有页面</span>', |
|||
{ icon: 'fa fa-folder-open', text: '子页面', |
|||
href: script + '?title=Special:所有页面&namespace=' + nsid |
|||
href: '/zh?title=Special:前缀索引&prefix=' + title + '/&namespace=' + nsid + '&stripprefix=1' |
|||
}) ) ).after( $('<li>').append( $('<a>', {href: script + '/Special:替换文本', |
|||
}, { icon: 'fa fa-hourglass-half', text: '展开模板', |
|||
html: '<i class="fa fa-retweet"></i><span>替换文本</span>' |
|||
href: '/zh?title=Special:展开模板&wpRemoveComments=1&wpGenerateRawHtml=true&wpInput={{:' + pageName + '}}' |
|||
}) ) ).after( $('<li>').append( $('<a>', {href: script + '/Special:滥用过滤器', |
|||
}, {icon: 'fa fa-copy', text: '所有页面', href: '/zh?title=Special:所有页面&namespace=' + nsid} |
|||
html: '<i class="fa fa-ban"></i><span>滥用过滤器</span>' |
|||
]; |
|||
}) ) ).after( $('<li>').append( $('<a>', {href: script + '?target=http://*&title=Special:链接搜索', |
|||
$('<ul>', {html: (mw.config.get( 'wgIsArticle' ) ? extraGroup : []).concat( group ).map(function(ele) { |
|||
html: '<i class="fas fa-external-link-alt"></i><span>链接搜索</span>' |
|||
return $('<li>', {html: $('<a>', {class: ele.icon, href: ele.href, html: $('<span>', {text: ele.text})})}); |
|||
})}).insertAfter( $menu.children().eq(2) ); |
|||
href: script + '?title=Special:用户列表&creationSort=1&desc=1' |
|||
}) ) ).after( $('<li>').append( $('<a>', {href: script + '/Special:版本', |
|||
html: '<i class="fa fa-puzzle-piece"></i><span>版本</span>'}) ) ); |
|||
}); |
|||
}); |
}); |
||
//</nowiki> |
//</nowiki> |
2023年3月17日 (五) 13:00的最新版本
//<nowiki> // 拆分自[[Special:Mypage/common.js]],不可使用ES6语法 "use strict"; mw.loader.using( 'jquery.client' ).then(function() { if ($.client.profile().name == 'firefox') { mw.gadgets = $.extend(mw.gadgets, {stickyHeading: {mode: 'desktop'}}); mw.hook( 'wikipage.content' ).add(function($content) { console.log('Hook: wikipage.content, Firefox开始移除黏性章节标题'); $content.removeClass( 'stickyHeading' ); }); } }); if (mw.config.get( 'wgArticleId' ) == 1521) { mw.loader.using( ['oojs-ui-core', 'ext.gadget.site-lib'] ).then(function() { mw.tipsy( $('#bodyContent'), '.myTable td[data-sort-value]', {id: 'myTipsy'} ); }); } mw.loader.using( ['mediawiki.util', 'skins.minerva.scripts'] ).then(function() { const nsid = mw.config.get( 'wgNamespaceNumber' ), specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ), pageName = mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) ), title = mw.util.wikiUrlencode( mw.config.get('wgTitle') ), script = mw.config.get('wgScript'), loadJs = function(page) { mw.loader.load(script + '?action=raw&ctype=text/javascript&title=' + page); }; if (mw.config.get( 'wgArticleId' ) > 0 && mw.config.get('wgAction') == 'view') { // 移动版强制章节折叠 loadJs( 'user:bhsd/mobileCollapse.js' ); } else if (specialPage == "History") { /* 移动版历史添加与当前对比链接 */ $(function() { const lastrevid = mw.util.getParamValue( 'offset' ) ? 'cur' : parseInt( $('.page-summary > a').first().attr( 'href' ).match(/\d+$/) ); $('.list-thumb').append(function() { const oldid = parseInt( $(this).parent().attr( 'href' ).match( /\d+$/ ) ); return oldid == lastrevid ? null : $('<p>').append( $('<a>', {text: "当前", href: '/zh/special:diff/' + oldid + '/' + lastrevid}) ); }); }); } const $menu = $('#mw-mf-page-left'), group = [ {icon: 'fa fa-retweet', text: '替换文本', href: '/zh/Special:替换文本'}, {icon: 'fa fa-ban', text: '滥用过滤器', href: '/zh/Special:滥用过滤器'}, {icon: 'fas fa-external-link-alt', text: '链接搜索', href: '/zh?target=http://*&title=Special:链接搜索'}, {icon: 'fa fa-users', text: '用户列表', href: '/zh?title=Special:用户列表&creationSort=1&desc=1'}, {icon: 'fa fa-puzzle-piece', text: '版本', href: '/zh/Special:版本'} ], extraGroup = [ { icon: 'fa fa-folder-open', text: '子页面', href: '/zh?title=Special:前缀索引&prefix=' + title + '/&namespace=' + nsid + '&stripprefix=1' }, { icon: 'fa fa-hourglass-half', text: '展开模板', href: '/zh?title=Special:展开模板&wpRemoveComments=1&wpGenerateRawHtml=true&wpInput={{:' + pageName + '}}' }, {icon: 'fa fa-copy', text: '所有页面', href: '/zh?title=Special:所有页面&namespace=' + nsid} ]; $('<ul>', {html: (mw.config.get( 'wgIsArticle' ) ? extraGroup : []).concat( group ).map(function(ele) { return $('<li>', {html: $('<a>', {class: ele.icon, href: ele.href, html: $('<span>', {text: ele.text})})}); })}).insertAfter( $menu.children().eq(2) ); }); //</nowiki>