Browse Source

fix: change nextTick to onload for anchor scrolling (#1870)

* change nextTick to onload for anchor scrolling

* fix: handle anchor scrollTo if page already loaded

Co-authored-by: Nicolas Giard <github@ngpixel.com>
pull/1871/head
Seyed Sajad Kahani 4 years ago
committed by GitHub
parent
commit
4d2d615402
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 3 deletions
  1. 14
      client/themes/default/components/page.vue

14
client/themes/default/components/page.vue

@ -460,11 +460,19 @@ export default {
}) })
// -> Handle anchor scrolling // -> Handle anchor scrolling
this.$nextTick(() => {
if (window.location.hash && window.location.hash.length > 1) {
this.$vuetify.goTo(window.location.hash, this.scrollOpts)
if (window.location.hash && window.location.hash.length > 1) {
if (document.readyState === 'complete') {
this.$nextTick(() => {
this.$vuetify.goTo(window.location.hash, this.scrollOpts)
})
} else {
window.addEventListener('load', () => {
this.$vuetify.goTo(window.location.hash, this.scrollOpts)
})
} }
}
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()

Loading…
Cancel
Save