F9y4ng / GreasyFork-Scripts

The open source code of this project is used for userscripts (油猴脚本) for desktop browsers, including Font Rendering (Customized) (字体渲染(自用脚本)- Font Rendering.user.js), and Search Engine Assistant (优雅的搜索引擎助手 - Google & Baidu Switcher.user.js), etc.
https://f9y4ng.github.io/GreasyFork-Scripts/
GNU General Public License v3.0
951 stars 46 forks source link

[发现错误] 字体渲染突然失效 #168

Closed 1nxx closed 1 year ago

1nxx commented 1 year ago

描述错误信息 (清楚而简洁地描述了错误是什么) 在未更新系统、未更新浏览器、未添加/删除字体的情况下脚本突然失效

错误再现 (重现行为的步骤) 任意网址均失效

预期结果 (清晰明了地描述你所期待想要什么样的结果) 麻烦作者大佬帮忙看看是什么问题,如果不是脚本的问题还请也提供个解决问题的思路

客户端信息: (请填写以下信息)

请预先排除与你本地其他扩展或脚本的冲突,尽量在仅运行本脚本的情况下测试 已尝试重启电脑、重新安装油猴及脚本、禁用其他脚本仅保留字体渲染脚本运行,已排除其他因素干扰,

日志: userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ Good Data Status: true userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:4078 字体渲染(自用脚本) INTRO.URL: https://f9y4ng.likes.fans/FontRendering ▞ 脚本版本:V2023.01.07.1 (CHEAT-UA) ▞ 个性化设置:0/100(当前:全局) ▞ 字体缩放:OFF ▚ 缩放比例:(BROWSER DEFINED) ▞ 本地备份:ON  ▚ 保存预览:OFF ▞ 渲染字体:苹方-简(PingFang SC) ▞ 字体平滑:ON  ▚ 字体重写:ON ▞ 字体描边:ON  ▚ 字体阴影:OFF userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2630 ➤ Chrome BROWSER WARNING This script (fully functional version) only supports desktop browsers with versions Edge>=80, Chrome>=80, Firefox>=74, Opera>=67, Safari>=13.1 userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2634 ➤ [INSERTCSS][c:JgLTutJUQX]: 1 userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2634 ➤ [INSERTSTYLE][c:XfxPbLcUiy]: 1 userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2630 ➤ [DOM][READYSTATE]:interactive!  ➦ www.huorong.cn / (index):1 [冲突] Added synchronous DOM mutation listener to a 'DOMNodeInsertedIntoDocument' event. Consider using MutationObserver to make the page more responsive. (index):752 GET https://zz.bdstatic.com/linksubmit/push.js net::ERR_BLOCKED_BY_CLIENT (匿名) @ (index):752 (匿名) @ (index):753 (index):665 4.3.0 userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2630 ➤ [DOM][READYSTATE]:Load complete!  ➦ www.huorong.cn / (index):765 GET https://hm.baidu.com/hm.js?7e7de1ae23f74c2a3fccc9ae5bd1423a net::ERR_BLOCKED_BY_CLIENT window.onload @ (index):765 load(异步) (匿名) @ (index):759 userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ isFontReady: true NaN userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ Installing Font_Set_Menu userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ Installing Exclude_site_Menu userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ Installing Parameter_Set_Menu userscript.html?name=%E5%AD%97%E4%BD%93%E6%B8%B2%E6%9F%93%EF%BC%88%E8%87%AA%E7%94%A8%E8%84%9A%E6%9C%AC%EF%BC%89.user.js&id=ff6d15f9-7eb1-4cae-a4b9-d2692aef66bb:2628 ➤ lastStyle.className: XfxPbLcUiy

F9y4ng commented 1 year ago

从你反馈的日志上来看,脚本已正常运行。

我猜测你所反馈的问题,是否是脚本菜单消失的问题?Tampermonkey4.18.0是存在这个bug的,升级到正式版4.18.1可以解决此问题。

1nxx commented 1 year ago

image 感谢作者大佬的回复,油猴版本为5.18.1,未出现菜单消失问题。脚本从状态来看已正常运行,但是字体确实未被正确替换(即:脚本实际上未能发挥作用),如图所示,页面字体依然为微软雅黑(所有网站均可复现)。

个人也是小白,猜测是不是那条dom报错信息的问题?在edge上脚本正常生效,没有该报错信息。 如果可以还请给个问题排查的方向和建议,若作者认为本问题与脚本/油猴插件无关、处理起来也比较麻烦,那就不麻烦作者了,我后面更换浏览器重新适应下就好,谢谢。

F9y4ng commented 1 year ago

如果不是TM的版本问题,那估计是你的浏览器内核版本过低造成问题,随着主流浏览器内核版本的提升,脚本管理器及脚本的向下的兼容性会越来越差。随着Manifest V3的实施,我估计大部分低版本的内核的浏览器将会面临无扩展可用的情况。尽快使用新内核浏览器也是大势所趋。

如果你喜欢国产魔改的浏览器,可以尝试Cent Browser 5.0.1002.295 (Chromium 102.0.5005.167) 试试看。

F9y4ng commented 1 year ago

我应该发现你本地造成代码失效的原因了:你使用的是Chromium 86的浏览器内核,但通过UA管理扩展修改了浏览器UA信息,造成代码对浏览器识别出现错误,从而使渲染效果失效。

建议

关闭UA修改,使用默认的浏览器UA。

1nxx commented 1 year ago

感谢大佬,不是自定义UA的问题,没有使用过自定义UA;去UA测试网站也发现UA并没有啥问题。 昨天又在另一台电脑下载了360chrome 13.5试验了下,依然失效,所以应该是最近不知道360极速浏览器热更新了什么东西导致的;360极速浏览器x之类的新版本就不存在这种问题。

所以给后面看到的人也提个醒吧,不用折腾了,换浏览器。 顺便骂一句360开发真的狗,升级浏览器内核还要换包名,cookie和保存的密码还都不能同步,呸!要不是edge和chrome会被公司域控制,360极速狗都不用T_T

F9y4ng commented 1 year ago

嗯,如果你没有修改过浏览器UA,那就应当是360自身修改过默认UA,伪装成高版本内核来欺骗一些网站检测。

字体渲染(自用脚本) 是能够识别修改默认UA的行为的,脚本对不同版本的内核兼容有特殊处理,所以,修改内核后执行了本应不支持的功能,所以才会失效。

字体渲染(自用脚本)
INTRO.URL: https://f9y4ng.likes.fans/FontRendering
▞ 脚本版本:V2023.01.07.1 (CHEAT-UA)  <-- 这里有提示
▞ 个性化设置:0/100(当前:全局)
▞ 字体缩放:OFF ▚ 缩放比例:(BROWSER DEFINED)
▞ 本地备份:ON  ▚ 保存预览:OFF
▞ 渲染字体:苹方-简(PingFang SC)
▞ 字体平滑:ON  ▚ 字体重写:ON
▞ 字体描边:ON  ▚ 字体阴影:OFF

远离国产魔改浏览器应该算是最佳选择了。😅