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
950 stars 46 forks source link

[发现错误] Firefox的文本选取问题。 #366

Closed Mingyu2333 closed 3 weeks ago

Mingyu2333 commented 3 weeks ago

1. 准备工作(确认预先完成的操作)

2. 描述错误信息(清楚而简洁地描述错误)

无法滑动选中评论区文字(无法多换选中,超出本行范围即失效) 详细见图片

3. 错误过程再现(请按示例填写行为步骤,直至复现您遇到的问题)

1.打开b站 2.打开任意视频 3.翻到评论区 4.滑动选中

4. 屏幕截图(如有屏幕截图,请添加以帮助解释您的问题)

recording

5. 预期结果(清晰明了地描述您所期待想要什么样的结果)

可以正常多行选中,效果同视频简介

6. 客户端信息(请在“冒号”后认真填写您的本地信息)

7. 脚本运行环境排查 (请确认环境条件并填写相关信息)

8. 附加信息(在此处添加您认为有用的其他信息)

F9y4ng commented 3 weeks ago

这是Firefox的特有的选取bug,至少有几十个版本没有修复了。以FF的性格,基本上在等个几年应该也是可能的。

F9y4ng commented 3 weeks ago
  1. FF在伪元素样式 ::selection 中的 -webkit-text-stroke 属性是无效的,这是FF一直遗留的问题,至今未修复。(这会造成使用了字体描边的文本,在其被选取时,会出现突兀的描边,使得选取文本看不清楚。)
  2. FF的选取中断问题(尤其是在ShadowRoot中问题更甚),这个BUG一直未修复。
  3. 除选取中断外,还存在选取后无法取消的问题,造成被选取文本一直保持选取状态无法清除,这个BUG也一直未修复。

所以字体渲染脚本针对FF的问题特意更改了默认的选取样式,但无法完全修复所有的问题,如问题2,3。