Greasy Fork

来自缓存

Greasy Fork is available in English.

125论坛手机版优化

优化125论坛(bbs.125.la)在手机端的显示效果

当前为 2024-12-25 提交的版本,查看 最新版本

// ==UserScript==
// @name         125论坛手机版优化
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  优化125论坛(bbs.125.la)在手机端的显示效果
// @author       Your name
// @match        https://bbs.125.la/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 检查是否为移动端访问
    if(!/mobile/i.test(navigator.userAgent)) return;

    // 强制设置viewport并防止被修改
    function setViewport() {
        let viewport = document.querySelector('meta[name="viewport"]');
        if(!viewport) {
            viewport = document.createElement('meta');
            viewport.name = 'viewport';
            document.head.appendChild(viewport);
        }
        viewport.content = 'width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes';
    }

    // 初始设置viewport
    setViewport();

    // 监听viewport变化
    const observer = new MutationObserver(() => {
        setViewport();
    });
    
    observer.observe(document.head, {
        subtree: true,
        attributes: true,
        attributeFilter: ['content']
    });

    // 添加自定义样式
    const customCSS = `
        /* 重置所有元素的字体大小计算方式 */
        * {
            font-size: initial !important;
            transform: none !important;
            zoom: normal !important;
            -webkit-text-size-adjust: none !important;
        }

        /* 使用rem作为基础单位 */
        html {
            font-size: 16px !important;
        }

        /* 基础样式设置 */
        body {
            font-size: 1rem !important;
            line-height: 1.6 !important;
            text-size-adjust: 100% !important;
            -webkit-text-size-adjust: 100% !important;
            max-width: 100vw !important;
            overflow-x: hidden !important;
        }

        /* 响应式字体大小 */
        .thread_tit, h3 {
            font-size: 1.1rem !important;
        }

        .f_count, .sub_forum {
            font-size: 0.9rem !important;
        }

        /* 列表项内容 */
        .sub_forum li {
            padding: 0.75rem 0.5rem !important;
            font-size: 1rem !important;
        }

        /* 导航和按钮 */
        .btFixed, .header, .footer {
            font-size: 0.875rem !important;
        }

        /* 链接和可点击元素 */
        a, button, input[type="button"], input[type="submit"] {
            padding: 0.5rem !important;
            min-height: 44px !important; /* 确保触摸区域足够大 */
            display: inline-block !important;
        }

        /* 内容区域 */
        .container, .content {
            padding: 0.625rem !important;
            width: 100% !important;
            box-sizing: border-box !important;
        }

        /* 图片响应式 */
        img {
            max-width: 100% !important;
            height: auto !important;
            transform: none !important;
        }

        /* 修复可能的溢出问题 */
        div, p, span, li {
            max-width: 100vw !important;
            word-wrap: break-word !important;
            overflow-wrap: break-word !important;
        }
    `;

    // 插入自定义样式
    const styleElement = document.createElement('style');
    styleElement.textContent = customCSS;
    document.head.appendChild(styleElement);

    // 防止其他脚本修改样式
    window.addEventListener('load', () => {
        setViewport();
        document.head.appendChild(styleElement);
    });

})();