问答详情
源自:3-12 目录功能实现

获取当前所在目录有问题?

通过 Rendition.currentLocation() 可以获取当前位置相关信息,
该方法返回的数据中主要是 start 和 end 对象,这两个对象均有以下字段:
cfi、displayed、href、index、location、percentage。
1 在触发翻页的时候打印 start 和 end 对象,
发现两者除了 cfi 字段有差异外,其他字段值都保持相同。
请教下老师这两个字段有什么不同的意义?
2 在获取当前所在目录时,发现每个目录的第一页获取值存在异常,
即该页是前一个目录的最后一页,当进入某目录第二页时,才能正确获取当前目录。
https://img.mukewang.com/5b8ccf0c0001274016001005.jpg




提问者:VyingGao 2018-09-03 14:07

个回答

  • Sam
    2018-09-03 21:20:03
    已采纳

    你好,第一个问题,start表示当前页的起始位置,end表示当前页的末尾位置,第二个问题,需要看下你的源码,应该是你调用Rendition.currentLocation() 的时机有问题,没有选择到正确的钩子函数

  • 面包与理想
    2019-01-17 16:56:21

    this.rendition.currentLocation()获取还是空,楼主解决了吗?


  • VyingGao
    2018-09-04 10:06:14

    this.Book = new EPub(DOWNLOAD_URL)
    this.Rendition = this.Book.renderTo('render', { width, height })
    this.Rendition.display().then(() => { this.Rendition.currentLocation() })
    this.Book.ready.then(() => {
        this.Navigation = this.Book.navigation
        this.Locations = this.Book.locations
        this.Locations.generate()
        this.bookReady = true
        this.catalogList = this.Navigation.toc
    })
    this.Rendition[action]() // 翻页操作
    console.log(this.Rendition.currentLocation().start)