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
680 stars 59 forks source link

部分书籍的标注无法正常获取 [BUG] #24

Closed uangunai closed 3 years ago

uangunai commented 3 years ago

获取本章是获取不到: image 获取全部可以抓取到: image 获取全部抓取到得内容: image

依旧是这本书: https://weread.qq.com/web/reader/6f4320407219b8bf6f4f97c

Higurashi-kagome commented 3 years ago

是的,的确有这个问题。出现这种情况的原因是扩展从读书页的 DOM 上获取当前章节的标题。通常情况下,这样获取到的标题会存在于服务端的标题数据中,而这本书的服务端标题数据比网页中的标题要短(网页端多出了章节信息),比如,扩展从网页端获取到的当前章节标题为“第2章 刑与礼王子犯法与庶民同罪?都是骗人的”,而服务端的标题为“刑与礼王子犯法与庶民同罪?都是骗人的”(缺少章节),所以扩展无法从标注中找到当前章节,最终使得不能够正常导出本章标注。

现今的解决方案是,当服务端的标题包含于当前标题时(CurrentContent.indexOf(contents[key].title) > -1),视为两标题相同。 @CareLaden

uangunai commented 3 years ago

好的,多谢解答