为了账号安全,请及时绑定邮箱和手机立即绑定

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

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




正在回答

3 回答

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

0 回复 有任何疑惑可以回复我~
#1

VyingGao 提问者

我现在正在完善翻页对进度和目录的变化,所以是在点击视图左右区域的时候,先执行翻页操作,然后获取位置数据。这样的做法有什么误区吗?
2018-09-03 回复 有任何疑惑可以回复我~
#2

Sam 回复 VyingGao 提问者

Rendition.display.then({ Rendition.currentLocation() })
2018-09-03 回复 有任何疑惑可以回复我~
#3

Sam 回复 VyingGao 提问者

你的做法没有问题,第一次调用时,可以尝试我上面回复的方法
2018-09-03 回复 有任何疑惑可以回复我~
#4

VyingGao 提问者 回复 Sam

this.Rendition.display().then(() => { this.Rendition.currentLocation() }),我这边就在解析渲染的时候执行初次调用,可是在触发翻页的时候,打印出来的数据还是落后一页。
2018-09-04 回复 有任何疑惑可以回复我~
#5

Sam 回复 VyingGao 提问者

渲染和翻页部分完整的源码提供一下
2018-09-04 回复 有任何疑惑可以回复我~
#6

VyingGao 提问者 回复 Sam

老师,源码在这个问题的另外一个回答里。
2018-09-04 回复 有任何疑惑可以回复我~
查看3条回复

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


0 回复 有任何疑惑可以回复我~
#1

VyingGao 提问者

同学,不晓得你后来有没有解决这个问题。我前几天整理电脑,正好看了下这项目。这个方法是异步的:currentLocation(): (displayedLocation|promise),返回promise对象。所以一开始有些数据不对,要过一会儿才能正常。http://epubjs.org/documentation/0.3/#rendition 这个Epub.js解析引擎本身问题就挺多的。
2022-01-24 回复 有任何疑惑可以回复我~
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)
0 回复 有任何疑惑可以回复我~
#1

Sam

翻页后,获取当前位置的方法需要调整一下: this.rendition.next().then(() => { console.log(this.rendition.currentLocation()) })
2018-09-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信