Greasy Fork

Greasy Fork is available in English.

豆包,deepseek,元宝表格优化简洁版

优化表格显示:标题行和首列内容不换行,表格自适应宽度,移除页面横向滚动条

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         豆包,deepseek,元宝表格优化简洁版
// @namespace    http://greasyfork.icu/zh-CN/scripts/538175-%E8%B1%86%E5%8C%85-deepseek-%E5%85%83%E5%AE%9D%E8%A1%A8%E6%A0%BC%E4%BC%98%E5%8C%96%E7%AE%80%E6%B4%81%E7%89%88/feedback
// @supportURL   http://greasyfork.icu/zh-CN/scripts/538175-%E8%B1%86%E5%8C%85-deepseek-%E5%85%83%E5%AE%9D%E8%A1%A8%E6%A0%BC%E4%BC%98%E5%8C%96%E7%AE%80%E6%B4%81%E7%89%88/feedback
// @version      1.31
// @description  优化表格显示:标题行和首列内容不换行,表格自适应宽度,移除页面横向滚动条
// @icon         http://www.deepseek.com//favicon.ico
// @author       ddrwin
// @match        *://yuanbao.tencent.com/*
// @match        *://*.deepseek.com/*
// @match        *://*.doubao.com/*
// @grant        none
// @run-at       document-idle
// @license      MIT
// @note         2025.6.8  V1.3 优化表格字体大小,减小表格间隙;
// ==/UserScript==

(function() {
    'use strict';

    // 核心功能:优化表格显示
    function optimizeTables() {
        document.querySelectorAll('table').forEach(table => {
            // 设置表格基本样式
            table.style.width = '100%';
            table.style.overflowX = 'visible';
            table.style.tableLayout = 'auto';
            table.style.borderCollapse = 'collapse';
            table.style.fontSize = '0.9em'; // 进一步减小字体

            // 处理标题行(第一行)
            const headerRow = table.querySelector('tr:first-child, thead tr:first-child');
            if (headerRow) {
                // 统一标题行样式
                headerRow.style.backgroundColor = '#f5f5f5'; // 统一背景颜色
                
                const headerCells = headerRow.querySelectorAll('th, td');
                const titleFontSize = '0.85em'; // 统一标题行字体大小

                headerCells.forEach(cell => {
                    // 替换中文括号为英文括号以节省空间
                    const originalText = cell.textContent;
                    const newText = originalText
                        .replace(/(/g, '(')
                        .replace(/)/g, ')')
                        .replace(/\s+/g, ' '); // 压缩多余空格
                    
                    cell.textContent = newText;
                    
                    // 标题行样式:居中+不换行+超紧凑内边距
                    cell.style.textAlign = 'center';
                    cell.style.fontWeight = 'bold';
                    cell.style.backgroundColor = '#f5f5f5';
                    cell.style.padding = '4px 6px'; // 最小化内边距
                    cell.style.borderBottom = '2px solid #ddd';
                    cell.style.whiteSpace = 'nowrap'; // 标题行不换行
                    // 减小首行字体两号
                    cell.style.fontSize = '0.85em'; // 小字体
                });
            }

            // 处理所有数据行
            const dataRows = table.querySelectorAll('tr:not(:first-child), tbody tr');
            dataRows.forEach(row => {
                const cells = row.querySelectorAll('td');

                cells.forEach((cell, index) => {
                    // 基本数据行样式
                    cell.style.textAlign = 'left';
                    cell.style.padding = '6px 10px';
                    cell.style.borderBottom = '1px solid #eee';
                    cell.style.wordBreak = 'break-word';

                    // 首列特殊样式(与标题行一致)
                    if (index === 0) {
                        cell.style.whiteSpace = 'nowrap';
                        cell.style.backgroundColor = '#f5f5f5'; // 与标题行相同背景
                        cell.style.fontSize = '0.85em'; // 与标题行相同字体大小
                        cell.style.fontWeight = 'bold'; // 与标题行相同加粗
                        cell.style.textAlign = 'center'; // 居中对齐(同于标题行的居中)
                    } else {
                        cell.style.whiteSpace = 'normal';
                    }
                });
            });
        });

        // 移除页面横向滚动条
        document.body.style.overflowX = 'hidden';
    }

    // 初始执行
    optimizeTables();

    // 监控动态加载的表格
    const observer = new MutationObserver(mutations => {
        let needsOptimization = false;
        
        mutations.forEach(mutation => {
            if (mutation.addedNodes) {
                mutation.addedNodes.forEach(node => {
                    if (node.nodeType === 1 && (node.tagName === 'TABLE' || node.querySelector('table'))) {
                        needsOptimization = true;
                    }
                });
            }
        });
        
        if (needsOptimization) {
            setTimeout(optimizeTables, 100);
        }
    });

    observer.observe(document.body, { childList: true, subtree: true });
})();