亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

獲取當前所在目錄有問題?

通過 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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號