调整网页字体和行间距倍数

脚本菜单可用于调整网页的字体和行间距倍数

目前为 2023-10-11 提交的版本。查看 最新版本

// ==UserScript==
// @name         调整网页字体和行间距倍数
// @author       ChatGPT
// @version      6.0
// @description  脚本菜单可用于调整网页的字体和行间距倍数
// @match        *://*/*
// @grant        GM_registerMenuCommand
// @grant        GM_setValue
// @grant        GM_getValue
// @run-at       document-start
// @namespace https://gf.qytechs.cn/users/452911
// ==/UserScript==

(function () {
  "use strict";

  var currentHostname = window.location.hostname;
  var fontMultiplier = getStoredValue("font_multiplier_" + currentHostname, 1);
  var lineHeightMultiplier = getStoredValue("line_height_multiplier_" + currentHostname, 1);

  function getStoredValue(key, defaultValue) {
    var storedValue = GM_getValue(key);
    return storedValue !== undefined ? storedValue : defaultValue;
  }

  function setStoredValue(key, value) {
    GM_setValue(key, value);
  }

  function setFontMultiplier(multiplier) {
    fontMultiplier = multiplier;
    setStoredValue("font_multiplier_" + currentHostname, multiplier);
    applyFontMultiplier();
  }

  function setLineHeightMultiplier(multiplier) {
    lineHeightMultiplier = multiplier;
    setStoredValue("line_height_multiplier_" + currentHostname, multiplier);
    applyLineHeightMultiplier();
  }

  function applyFontMultiplier() {
    var style = document.createElement("style");
    style.textContent = `* { font-size: ${fontMultiplier}em !important; }`;
    document.head.appendChild(style);
  }

  function applyLineHeightMultiplier() {
    var style = document.createElement("style");
    style.textContent = `* { line-height: ${lineHeightMultiplier} !important; }`;
    document.head.appendChild(style);
  }

  GM_registerMenuCommand("调整字体大小倍数", function () {
    var newFontMultiplier = prompt(
      "请输入字体大小倍数(例如:1.5,2,3.25等)",
      fontMultiplier.toString()
    );
    if (newFontMultiplier !== null) {
      setFontMultiplier(parseFloat(newFontMultiplier) || fontMultiplier);
    }
  });

  GM_registerMenuCommand("调整行间距倍数", function () {
    var newLineHeightMultiplier = prompt(
      "请输入行间距倍数(例如:1.5,2,3.25等)",
      lineHeightMultiplier.toString()
    );
    if (newLineHeightMultiplier !== null) {
      setLineHeightMultiplier(parseFloat(newLineHeightMultiplier) || lineHeightMultiplier);
    }
  });

  applyFontMultiplier();
  applyLineHeightMultiplier();
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址