diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index db46cc78..47f9796d 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -50,14 +50,15 @@ class TextPage extends Vue { this.fb2 = null; let last = this.lastOpenedBook; - if (last) { + + if (last && !(this.routeParamUrl && this.routeParamUrl != last.url)) { (async() => { const isParsed = await bookManager.hasBookParsed(last); if (!isParsed) { this.$root.$emit('set-app-title'); - if (this.lastOpenTry != last) { + if (this.lastOpenTry != last.url) { this.$emit('parse-book', last); - this.lastOpenTry = last; + this.lastOpenTry = last.url; } return; } @@ -84,6 +85,17 @@ class TextPage extends Vue { return this.$store.getters['reader/lastOpenedBook']; } + get routeParamUrl() { + let result = ''; + const path = this.$route.fullPath; + const i = path.indexOf('url='); + if (i >= 0) { + result = path.substr(i + 4); + } + + return decodeURIComponent(result); + } + get routeParamPos() { let result = undefined; const q = this.$route.query;