LLWiki正在建设中,欢迎加入我们!
User:Bhsd/widget/tagFilter.js
跳转到导航
跳转到搜索
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
//<nowiki> // 用于[[Widget:年表标签/筛选]],可以使用ES6语法 /** * @Function: 配合jquery.makeCollapsible,进一步隐藏不存在可见标签的dl * @Author: [[User:Bhsd]] */ "use strict"; /* global mw, $ */ (() => { const detectCollapse = (mutations) => { mutations.forEach(ele => { const $dl = $(ele.target).closest( 'dl' ); $dl.toggle( $dl.find( 'dd > :not(.mw-collapsed)' ).length > 0 ); }); }, main = () => { mw.widget = mw.widget || {}; if (mw.widget.tagFilter) { return; } // 因为dl折叠需要在jquery.makeCollapsible执行完毕之后,这里借助MutationObserver判断正确时机 const observer = new MutationObserver( detectCollapse ); mw.hook( 'wikipage.content' ).add($content => { observer.disconnect(); console.log('Hook: wikipage.content, 更新对年表标签的监视'); $content.find( 'dd > .mw-collapsible:has( .chronology )' ).each(function() { observer.observe(this, {attributes: true, attributeFilter: ['class']}); }); }); mw.widget.tagFilter = true; }; if (window.jQuery) { main(); } else { window.addEventListener('jquery', main); } }) (); //</nowiki> // [[category:jQuery小部件]] {{DEFAULTSORT:TagFilter}}