From 3f0be7fbe470500a57c457ad1d1c039175330697 Mon Sep 17 00:00:00 2001
From: Jacky Zhao <j.zhao2k19@gmail.com>
Date: Fri, 17 Nov 2023 18:46:23 +0000
Subject: [PATCH] fix: check content-type before applying spa patch (closes #597)

---
 quartz/components/scripts/spa.inline.ts |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/quartz/components/scripts/spa.inline.ts b/quartz/components/scripts/spa.inline.ts
index c0152b5..29cc334 100644
--- a/quartz/components/scripts/spa.inline.ts
+++ b/quartz/components/scripts/spa.inline.ts
@@ -45,7 +45,14 @@
 async function navigate(url: URL, isBack: boolean = false) {
   p = p || new DOMParser()
   const contents = await fetch(`${url}`)
-    .then((res) => res.text())
+    .then((res) => {
+      const contentType = res.headers.get("content-type")
+      if (contentType?.startsWith("text/html")) {
+        return res.text()
+      } else {
+        window.location.assign(url)
+      }
+    })
     .catch(() => {
       window.location.assign(url)
     })

--
Gitblit v1.10.0