epubjs 在线阅读epub文件

1.epubjs注册事件

book.spine.hooks.serialize // Section is being converted to text
book.spine.hooks.content // Section has been loaded and parsed
rendition.hooks.render // Section is rendered to the screen
rendition.hooks.content // Section contents have been loaded
rendition.hooks.unloaded // Section contents are being unloaded

2.epubjs监听事件

rendition.on("started",()=>{})
rendition.on("attached",()=>{})
rendition.on("displayed",()=>{})
rendition.on("displayError",()=>{})
rendition.on("rendered",()=>{})
rendition.on("removed",()=>{})
rendition.on("resized",()=>{})
rendition.on("orientationchange",()=>{})
rendition.on("locationChanged",()=>{})
rendition.on("relocated",()=>{})
rendition.on("selected",()=>{})
rendition.on("markClicked",()=>{})
rendition.on("keyup",()=>{})

3.打开模式

//双栏模式
 this.state.rendition = book.renderTo("viewer", {
                        width: "100%",
                        height: "100%",
                        allowScriptedContent:true //是否允许插入外部文件
                    });
  //双栏单页模式
  this.state.rendition = book.renderTo("viewer", {
                        width: "100%",
                        height: "100%",
                        spread: "none",
                    });
                    
        //滚动分页模式
  this.state.rendition = book.renderTo("viewer", {
                        width: "100%",
                        height: "100%",
                   flow: "scrolled-doc"
  })     
     //滚动分页继续加载模式   
    this.state.rendition = book.renderTo("viewer", {
                        width: "100%",
                        height: "100%",
                   flow: "scrolled-doc",
                    manager: "continuous",
  })        

//获取封面信息,作者等

 book.loaded.metadata.then(function(meta){
      var $title = document.getElementById("title");
      var $author = document.getElementById("author");
      var $cover = document.getElementById("cover");
      var $nav = document.getElementById('navigation');

      $title.textContent = meta.title;
      $author.textContent = meta.creator;
      if (book.archive) {
        book.archive.createUrl(book.cover)
          .then(function (url) {
            $cover.src = url;
          })
      } else {
        $cover.src = book.cover;
      }

      // if ($nav.offsetHeight + 60 < window.innerHeight) {
      //   $nav.classList.add("fixed");
      // }

    });

//获取提纲

  book.loaded.navigation.then((toc) => {})

//注册主题

  this.state.rendition.themes.register("tan",”http://xxxx.css“);
                this.state.rendition.themes.select("normal");

//设置个性样式

 renditionApi.themes.default({
                        "*":{}
                    })
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搬砖的小编

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值