Greasy Fork is available in English.

得到网页版锁定视口宽度

锁定网页视口宽度为指定值,解决阅读电子书时,单行宽度过大的问题。默认显示全屏宽度,想要调整宽度生效,通过点击F12来触发窗口调整,再F12关闭调试窗口,即可生效。

// ==UserScript==
// @name         得到网页版锁定视口宽度
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  锁定网页视口宽度为指定值,解决阅读电子书时,单行宽度过大的问题。默认显示全屏宽度,想要调整宽度生效,通过点击F12来触发窗口调整,再F12关闭调试窗口,即可生效。
// @author       You
// @match        https://www.dedao.cn/*       /* 匹配所有网站,或者你可以指定具体的网站 */
// @match        https://*.dedao.cn/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 锁定视口宽度的值,这里以1024px为例
    const LOCKED_VIEWPORT_WIDTH = 1200;

    // 获取html元素
    const htmlElement = document.documentElement;

    // 设置视口宽度
    function lockViewportWidth() {
        htmlElement.style.width = `${LOCKED_VIEWPORT_WIDTH}px`;
        htmlElement.style.overflowX = 'auto'; // 如果需要水平滚动条
        htmlElement.style.maxWidth = `${LOCKED_VIEWPORT_WIDTH}px`; // 限制最大宽度
        htmlElement.style.minWidth = `${LOCKED_VIEWPORT_WIDTH}px`; // 限制最小宽度
        htmlElement.style.marginLeft = 'auto'; // 水平居中
        htmlElement.style.marginRight = 'auto'; // 水平居中
    }

    // 在文档加载完成时设置视口宽度
    document.addEventListener('load', lockViewportWidth);



    // 监听窗口大小变化事件,并重新应用宽度(如果需要)
    window.addEventListener('resize', lockViewportWidth);
})();