Greasy Fork

125论坛手机版优化

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

目前为 2024-12-25 提交的版本。查看 最新版本

作者
xcc xcc
评分
0 0 0
版本
1.0
创建于
2024-12-25
更新于
2024-12-25
大小
1.8 KB
许可证
暂无
适用于

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

})();