打开/关闭菜单
32
245
25
891
植物大战僵尸杂交版Wiki
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
本Wiki为杂交版民间Wiki,不对杂交版官方产生影响

MediaWiki:Common.js

MediaWiki界面页面
愤怒的郎朗留言 | 贡献2026年3月22日 (日) 05:42的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
(function() {
    // 防止重复执行的全局标志
    if (window.__globalFooterAdded) {
        return;
    }
    
    // 要插入的 HTML
    var footerHtml = '<div id="global-footer-links" style="width:100%; margin-top:20px; padding:15px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; border-top:1px solid #ccc;">' +
        '<div><a href="https://new.pvzhe.wiki/index.php?title=特殊:创建账户&returnto=首页">加入我们</a></div>' +
        '<div><a href="https://www.pvzhe.com/new">前往官网以了解更多游戏信息</a></div>' +
        '</div>';
    
    // 插入函数
    function insertFooter() {
        if (document.getElementById('global-footer-links')) {
            return true;
        }
        
        // 手机端常用容器(Minerva 皮肤)
        var mobileSelectors = [
            '.mw-body',           // Minerva 主内容区
            '.content',           // 通用内容区
            'main',               // HTML5 主标签
            '.mw-footer-container', // Minerva 页脚容器
            '.minerva-footer'     // Minerva 页脚
        ];
        
        // PC 端常用容器
        var pcSelectors = [
            '#footer',            // Vector 皮肤页脚
            '#mw-footer',         // 通用页脚
            'footer',             // HTML5 页脚
            '.footer'             // 通用页脚类
        ];
        
        // 先找页脚(PC 和手机)
        var allSelectors = mobileSelectors.concat(pcSelectors);
        for (var i = 0; i < allSelectors.length; i++) {
            var element = document.querySelector(allSelectors[i]);
            if (element) {
                // 如果是内容区(.mw-body 等),用 append;如果是页脚,用 before
                if (allSelectors[i] === '.mw-body' || allSelectors[i] === '.content' || allSelectors[i] === 'main') {
                    element.insertAdjacentHTML('beforeend', footerHtml);
                } else {
                    element.insertAdjacentHTML('beforebegin', footerHtml);
                }
                window.__globalFooterAdded = true;
                return true;
            }
        }
        
        // 最后的备选:找任何主要内容区
        var lastResort = document.querySelector('#mw-content-text, .mw-body-content, #content');
        if (lastResort) {
            lastResort.insertAdjacentHTML('beforeend', footerHtml);
            window.__globalFooterAdded = true;
            return true;
        }
        
        return false;
    }
    
    // 执行插入(兼容各种加载时机)
    function tryInsert() {
        if (insertFooter()) return;
        
        // 如果 DOM 还没准备好,等待
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', function() {
                setTimeout(insertFooter, 300);
            });
        }
        
        // 监听 DOM 变化(应对动态加载内容)
        var observer = new MutationObserver(function() {
            if (insertFooter()) {
                observer.disconnect();
            }
        });
        observer.observe(document.body, { childList: true, subtree: true });
        setTimeout(function() { observer.disconnect(); }, 10000);
    }
    
    // 立即执行
    tryInsert();
})();