fix: links to subtitles with special characters (#1949)

This issue is related to #1006 . The $vuetify.goTo() function expects a UTF-8 ev.target.hash . However, the markdown CRM URIencodes the ev.target.hash (this is great for browser compatibility, not so much for Vuetify)

Adding decodeURIComponent() to ev.target.hash fixes compatibility with Vuetify.

This fixes GitHub issue #1873
This commit is contained in:
IndieRodo 2020-05-30 12:10:44 -05:00 committed by GitHub
parent 5c07ce0a7c
commit 006dae1221
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -530,12 +530,13 @@ export default {
} }
} }
// -> Handle anchor links within the page contents
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.container.querySelectorAll(`a[href^="#"], a[href^="${window.location.href.replace(window.location.hash, '')}#"]`).forEach(el => { this.$refs.container.querySelectorAll(`a[href^="#"], a[href^="${window.location.href.replace(window.location.hash, '')}#"]`).forEach(el => {
el.onclick = ev => { el.onclick = ev => {
ev.preventDefault() ev.preventDefault()
ev.stopPropagation() ev.stopPropagation()
this.$vuetify.goTo(ev.target.hash, this.scrollOpts) this.$vuetify.goTo(decodeURIComponent(ev.target.hash), this.scrollOpts)
} }
}) })
}) })