All roads lead to preload

This commit is contained in:
Daniel Flanagan 2023-07-06 17:11:20 -05:00
parent e0f35f5b53
commit da8647fc29
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4

View file

@ -39,7 +39,7 @@ function preloadinate() {
// TODO: this would ideally happen in the background (service worker)?
if (el.href.indexOf("#") == -1 && el.href.indexOf(".") == -1 && (el.href.startsWith("https://lyte.dev") || el.href.startsWith("http://localhost:1313"))) {
el.addEventListener("mouseover", (_ev) => putCache(el.href))
el.addEventListener("click", ev => {
el.addEventListener("click", async (ev) => {
if (el.href == window.location.href) {
ev.preventDefault()
return false
@ -49,6 +49,24 @@ function preloadinate() {
history.replaceState(rep, "")
console.log("replaceState: ", rep)
if (!loadCache(el.href)) {
window.location.href = el.href
window.location.reload()
return true
}
window.scrollTo(0, 0)
history.pushState([el.href, 0, 0], "", el.href)
preloadinate()
ev.preventDefault()
return false
} else {
ev.preventDefault()
await putCache(el.href)
const rep = [window.location.href, window.scrollX, window.scrollY]
history.replaceState(rep, "")
console.log("replaceState: ", rep)
if (!loadCache(el.href)) {
window.location.href = el.href
window.location.reload()
return true
}
window.scrollTo(0, 0)