From 7ab5d4e113d1d754c30a846057ce7d90ccc2b63b Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Wed, 13 Feb 2019 12:57:59 +0700 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D1=8F?= =?UTF-8?q?=D0=B5=D0=BC=20=D0=B2=20url=20=D0=BF=D1=80=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=BA=D0=BE=D0=BB=20http,=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BD?= =?UTF-8?q?=D0=B5=20=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/components/Reader/Reader.vue | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/client/components/Reader/Reader.vue b/client/components/Reader/Reader.vue index 80b2a5b0..d6262cb6 100644 --- a/client/components/Reader/Reader.vue +++ b/client/components/Reader/Reader.vue @@ -591,14 +591,19 @@ class Reader extends Vue { } loadBook(opts) { - if (!opts) { + if (!opts || !opts.url) { this.mostRecentBook(); return; } + let url = opts.url; + if ((url.indexOf('http://') != 0) && (url.indexOf('https://') != 0) && + (url.indexOf('file://') != 0)) + url = 'http://' + url; + // уже просматривается сейчас const lastBook = (this.$refs.page ? this.$refs.page.lastBook : null); - if (!opts.force && lastBook && lastBook.url == opts.url && bookManager.hasBookParsed(lastBook)) { + if (!opts.force && lastBook && lastBook.url == url && bookManager.hasBookParsed(lastBook)) { this.loaderActive = false; return; } @@ -615,7 +620,7 @@ class Reader extends Vue { progress.setState({state: 'parse'}); // есть ли среди недавних - const key = bookManager.keyFromUrl(opts.url); + const key = bookManager.keyFromUrl(url); let wasOpened = await bookManager.getRecentBook({key}); wasOpened = (wasOpened ? wasOpened : {}); const bookPos = (opts.bookPos !== undefined ? opts.bookPos : wasOpened.bookPos); @@ -626,7 +631,7 @@ class Reader extends Vue { if (!opts.force) { // пытаемся загрузить и распарсить книгу в менеджере из локального кэша - const bookParsed = await bookManager.getBook({url: opts.url}, (prog) => { + const bookParsed = await bookManager.getBook({url}, (prog) => { progress.setState({progress: prog}); }); @@ -662,7 +667,7 @@ class Reader extends Vue { // не удалось, скачиваем книгу полностью с конвертацией let loadCached = true; if (!book) { - book = await readerApi.loadBook(opts.url, (state) => { + book = await readerApi.loadBook(url, (state) => { progress.setState(state); }); loadCached = false;