采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
按照老师的建议,修改了epubjs的版本:“0.3.71” 问题还是不能解决。
使用你的代码,可以正确捕获到touch事件,注意要启动手机模式
原来如此!非常感谢!如果要在PC上使用,能用epub里面的捕获事件吗?
课程后面会介绍一种模板的做法,来解决PC和手机兼容的问题,另外,如果要使用Rendition.on的方案,可以捕获click事件,就可以同时支持PC和移动了
<template> <div> <div id="read"> <!-- {{$route.params.fileName}} --> <div class="ebook-reader"></div> </div> </div> </template> <script> import Epub from "epubjs"; global.ePub = Epub; import { mapGetters } from "vuex"; export default { computed: { ...mapGetters(["fileName"]) }, methods: { initEpub() { const url = "" + this.fileName + ".epub"; console.log(url); this.book = new Epub(url); this.rendition = this.book.renderTo("read", { width: innerWidth, height: innerHeight, method: "default" }); this.rendition.display(); console.log(this.book); console.log(this.rendition); this.rendition.on("touchstart", event => { console.log(event); }); } }, mounted() { this.$store .dispatch("setFileName", this.$route.params.fileName.split("|").join("/")) .then(() => { this.initEpub(); }); } }; </script>
这是EbookReader.vue的代码,还需要别的吗?
麻烦提供源码
首页cover也出现了的。
book,rendition对象都生成了。但是console有violation的警告,不知有无关系:
iframe.js?ddea:371 [Violation] Avoid using document.write().
你好,可以查看一下日志,是否有报错信息?如果没有,依次排查Book、Rendition对象是否正确的生成,如果解析失败,是不能翻页或者支持手势的
登录后可查看更多问答,登录/注册
Vue全家桶+最新前端技术+前后端分离架构,完整项目流程
2.2k 12
3.6k 10
2.0k 3
1.6k 24
1.5k 23