V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoyong
V2EX  ›  编程

豆瓣阅读的批注功能和微信读书的划线功能怎么实现?

  •  1
     
  •   xiaoyong · 2016-04-23 16:55:21 +08:00 · 6707 次点击
    这是一个创建于 2918 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这两个功能有相似之处,都可以可以任选一段文字作为对象处理。不知道技术上怎么实现?如果原来的的被重新编辑了(甚至删除了),那批注或者划线怎么处理?或者禁止重新编辑?!

    一直没有头绪,还请高人指点。

    3 条回复    2016-04-23 20:04:43 +08:00
    cszchen
        1
    cszchen  
       2016-04-23 19:48:49 +08:00 via iPhone   ❤️ 1
    以前做过源码批注,跟版本关联的,不然修改一下全乱了。
    cszchen
        2
    cszchen  
       2016-04-23 19:50:41 +08:00 via iPhone
    根据需求来吧,我们以前主要是对 bug 代码批注,到了下一个版本, bug 已修复,批注丢了也没关系
    TangMonk
        3
    TangMonk  
       2016-04-23 20:04:43 +08:00   ❤️ 2
    我最近也在想做一个在线读书的网站,类似豆瓣和多看的。

    我看了下他们的前端代码,大概就是根据字符的位置来判断的,比如下面是多看的:

    划线标注的 Request :


    JSON 数据是这样的:


    BeginRefPos 代表划线的开头, EndRefPos 代表划线的结尾。

    让我们通过对比来分析下里面的数据:



    数组里的第一个应该是个 id 键,第二个应该是字符在全文中的位置(但是感觉有点不对劲, 367 起始位置 + 4 字符位置 = 371 , 并不等于 EndRefPos 中的 377),第三个到最后一个不太清除。

    看到这里应该明白了吧。

    再搜索下国外的在线电子书阅读软件,都没有一个有多看、豆瓣做的这么好的,国内的这方面技术真的不错。

    我最近这个项目刚开始,还有很多技术难点要实现,如果有兴趣一起研究? qq:466900340
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   941 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 22:22 · PVG 06:22 · LAX 15:22 · JFK 18:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.