Higurashi-kagome / wereader

一个浏览器扩展:主要用于微信读书做笔记,对常使用 Markdown 做笔记的读者比较有帮助。
https://chrome.google.com/webstore/detail/%E5%BE%AE%E4%BF%A1%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0%E5%8A%A9%E6%89%8B/cmlenojlebcodibpdhmklglnbaghpdcg?hl=zh-CN&authuser=0
MIT License
681 stars 59 forks source link

[Bug] 标注中的插图顺序不正确 #99

Closed beanliu closed 1 year ago

beanliu commented 1 year ago

扩展是否为最新版本(与扩展商店中的版本相同)

出现该问题的书本及章节(不方便公开的话可直接发邮箱告知)

贝叶斯的博弈

描述问题

导出标注时,若文字中包含多个插图,那么在导出结果中,这些插图的顺序可能是乱的。

比如下面这一段:

image

导出后插图的顺序不一致:

image

复现步骤

在上述书籍中,随意标注一段带多个插图的文字,然后导出本章标注。

额外信息

阅读了下相关代码(getMarkedData),处理逻辑是对于每一个标注,都遍历一下当前可见的所有插图,找出与当前标注覆盖重合的子集,并按照查找到的顺序添加到 markedData 中。猜测问题是这里的查找到的顺序与实际阅读顺序并不一致,稍微修改了下按其 getBoundingClientRect 左上顶角排序,本地测试可以解决我遇到的case。

Higurashi-kagome commented 1 year ago

感谢反馈,所提供的信息很有帮助。下次更新会修复这个问题。