本篇是介绍epub.js中的rendition对象,需要用到上一篇文章中的代码
文章地址:Book对象
Rendition对象是epub中展示书本的对象,常用的方法主要有:
display()
resize()
clear()
next()
prev()
currentLocation()
关于这几个方法我来一一介绍一下
根据文档的说明,display方法有一个参数,就是传入epubcfi定位符(关于说明是ePubCFI请自行百度),如果不传入参数的话默认从第一页开始,这个方法使用后会在页面中呈现epub中的内容
resize()方法是用于重新设定展示框大小的方法,参数是width和height,分别表示宽高
clear()方法是用于清除展示框中展示的东西
next()和prev()方法是用于渲染下一页和上一页的方法,顺便提一下,在老版本中这两个方法似乎是book对象的方法,但是新版本中这两个方法是属于rendition对象的
currentLocation()方法是用于汇报当前页面的信息,如图:
它会返回一个对象,包含了当前页面的在真本书中的索引,资源名称,以及开始的定位符和结束的定位符
接下去是rendition对象所包含的事件,常用的有:
resized
displayed
rendered
locationChanged
首先需要说明的是epub.js中事件的绑定监听方式和jquery一样,使用on方法来绑定,例如
rendition.on("resized", function(width, height){
alert("展示页面的长宽被改变了,长为:" + height + "宽为:" + width);
});
再来介绍displayed方法,当每次页面完成渲染时会触发这个事件,使用display(),next(),prev()等方法都会渲染一次页面,这个事件会返回一个section对象,其内容包含了资源索引,资源名,资源链接等,如图:
rendered事件与displayed事件类似,是当章节完成渲染之后触发的事件,与displayed不同的是它还会返回一个view对象
locationChanged对象是当页面位置变化时触发的事件,它会返回一个对象,其内容包含了页面中的始末位置,如图:
这个方法可以用于监听阅读进度,实时保存进度,尽管文档中说这个方法是不被推荐的,但是我使用下发现这个方法还是相当好用的
以上就是关于epub.js的rendition对象的说明