Greasy Fork is available in English.
将任意网页的字体更换为自定义字体——微软雅黑、苹方、新宋体,全局默认为苹方字体
当前为
// ==UserScript==
// @name 自定义网页字体
// @namespace http://greasyfork.icu/
// @version 0.1
// @description 将任意网页的字体更换为自定义字体——微软雅黑、苹方、新宋体,全局默认为苹方字体
// @match *://*/*
// @grant GM_registerMenuCommand
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @run-at document-end
// @license MIT
// ==/UserScript==
(function () {
"use strict";
// 定义一个函数来更换字体
function changeFont(fontName) {
// 在文档头部添加一个样式元素
GM_addStyle(`* {font-family: '${fontName}' !important;}`);
}
// 定义一个函数来添加当前网页到储存列表
function addPage(fontName) {
// 获取当前网页的域名
var domain = window.location.hostname;
// 获取储存列表,如果不存在则创建一个空对象
var list = GM_getValue("lists") || {};
// 将当前域名作为键,值为字体名,添加到储存列表中
list[domain] = fontName;
// 将储存列表保存到油猴插件中
GM_setValue("lists", list);
// 提示用户已经添加成功,并更换字体
alert(`已将当前网页添加到${fontName}字体列表`);
changeFont(fontName);
}
// 定义一个函数来剔除当前网页从储存列表
function removePage() {
// 获取当前网页的域名
var domain = window.location.hostname;
// 获取储存列表,如果不存在则创建一个空对象
var list = GM_getValue("lists") || {};
// 如果当前域名在储存列表中,则删除它,并保存储存列表
if (list[domain]) {
delete list[domain];
GM_setValue("lists", list);
// 提示用户已经剔除成功,并刷新页面
alert("已将当前网页从自定义字体列表中剔除");
window.location.reload();
} else {
// 提示用户当前网页不在储存列表中,无需剔除
alert("当前网页不在自定义字体列表中,无需剔除");
}
}
// 注册一个菜单命令来触发这个函数,更换字体
GM_registerMenuCommand("更换字体为微软雅黑", () => changeFont("Microsoft YaHei"), "W");
GM_registerMenuCommand("更换字体为苹方", () => changeFont("PingFang SC"), "P");
GM_registerMenuCommand("更换字体为新宋体", () => changeFont("NSimSun"), "N");
// 注册一个菜单命令来触发这个函数,添加当前网页到储存列表
GM_registerMenuCommand("添加当前网页到自定义字体列表", () => addPage("PingFang SC"), "A");
// 注册一个菜单命令来触发这个函数,从储存列表剔除当前网页
GM_registerMenuCommand("从自定义字体列表剔除当前网页", removePage, "R");
// 检查当前网页是否在储存列表中,如果是则自动更换字体为对应的字体
var domain = window.location.hostname;
// 获取储存列表,如果不存在则创建一个空对象
var list = GM_getValue("lists") || {};
if (list[domain]) {
changeFont(list[domain]);
}
})();