|
|
| 1行目: |
1行目: |
| {{ArticleFooter}} | | {{ArticleFooter}} |
| <script>
| |
| (function () {
| |
| window.RLQ = window.RLQ || [];
| |
| window.RLQ.push(function () {
| |
| function moveCatlinks() {
| |
| var cat = document.getElementById('catlinks');
| |
| if (!cat) return;
| |
|
| |
| var comments = document.getElementById('comments-body');
| |
| if (comments && comments.insertAdjacentElement) {
| |
| // 既に直後なら何もしない
| |
| if (comments.nextElementSibling === cat) return;
| |
| comments.insertAdjacentElement('afterend', cat);
| |
| return;
| |
| }
| |
|
| |
| // フォールバック(最低限「本文の外」へ出す)
| |
| var dst = document.getElementById('mw-data-after-content');
| |
| if (dst && cat.parentElement !== dst) {
| |
| dst.appendChild(cat);
| |
| }
| |
| }
| |
|
| |
| // 初回
| |
| moveCatlinks();
| |
|
| |
| // コンテンツ差し替え時(VE等)にも追従
| |
| if (window.mw && mw.hook) {
| |
| mw.hook('wikipage.content').add(function () {
| |
| moveCatlinks();
| |
| });
| |
| }
| |
|
| |
| // Comments が後からDOMを触るケースにも追従
| |
| var watchRoot = document.getElementById('mw-data-after-content') || document.body;
| |
| if (watchRoot && window.MutationObserver) {
| |
| var obs = new MutationObserver(function () {
| |
| moveCatlinks();
| |
| });
| |
| obs.observe(watchRoot, { childList: true, subtree: true });
| |
| }
| |
| });
| |
| })();
| |
| </script>
| |