// ==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 // @downloadURL 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); }); })();