LLWiki正在建设中,欢迎加入我们!
User:Bhsd/widget/nav.js
跳转到导航
跳转到搜索
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
//<nowiki>
// 用于[[Widget:游戏主界面]],可以使用ES6语法
/**
* @Function: 移除插入图片造成的指向自身的导航链接
* @Dependencies: mediawiki.util
* @Author: [[User:Bhsd]]
*/
"use strict";
/* global mw, $ */
(() => {
let href, isMobile;
const main = ($content) => {
const $nav = $content.find( `.start-screen${ isMobile ? '' : ':has(img)' }` );
if ($nav.length === 0) { return; }
console.log('Hook: wikipage.content, 开始处理导航链接');
// 1. 移除图片造成的指向自身的链接,注意手机版的懒加载
$nav.find( `a[href="${href}"]` ).removeAttr('href title').addClass('mw-selflink selflink');
// 2. 手机版强制加载图片,并将导航移出折叠段落
if (!isMobile) { return; }
$nav.find( '.lazy-image-placeholder' ).replaceWith(function() { return $(this).prev( 'noscript' ).text(); });
$nav.appendTo( $content.find( '.mw-parser-output' ) )
.animate({scrollLeft: ($nav[0].scrollWidth - $nav.outerWidth()) / 2}, 'slow'); // 窄屏上初始滚动一半
},
handler = () => {
mw.widget = mw.widget || {};
if (mw.widget.nav) { return; }
isMobile = mw.config.get('skin') == 'minerva';
mw.loader.using( 'mediawiki.util' ).then(() => {
href = mw.util.getUrl();
mw.hook( 'wikipage.content' ).add( main );
});
mw.widget.nav = true;
};
if (window.jQuery) { handler(); }
else { window.addEventListener('jquery', handler); }
}) ();
//</nowiki>
// [[category:jQuery小部件]] {{DEFAULTSORT:nav}}