]> littlesong.place Git - littlesongplace.git/commitdiff
Start transitioning from xml to html
authorChris Fulljames <christianfulljames@gmail.com>
Sat, 22 Feb 2025 15:13:37 +0000 (10:13 -0500)
committerChris Fulljames <christianfulljames@gmail.com>
Sat, 22 Feb 2025 15:13:37 +0000 (10:13 -0500)
templates/base.html

index 65fe481d2bb7ccdbb3c41399d80cd9923fbcf063..8e5b2824bbbee5c9b8baac658ca5b01b063deee2 100644 (file)
@@ -19,7 +19,7 @@
                 var targetUrl = new URL(event.target.href);
                 if (urlIsOnSameSite(targetUrl)) {
                     event.preventDefault();
-                    fetch(targetUrl, {redirect: "follow", headers: {"Accept": "application/xml"}}).then(handleAjaxResponse);
+                    fetch(targetUrl, {redirect: "follow"}).then(handleAjaxResponse);
                 }
             });
 
@@ -30,7 +30,7 @@
                         if (urlIsOnSameSite(targetUrl)) {
                             event.preventDefault();
                             var formData = new FormData(event.target);
-                            fetch(targetUrl, {redirect: "follow", body: formData, method: event.target.method, headers: {"Accept": "application/xml"}})
+                            fetch(targetUrl, {redirect: "follow", body: formData, method: event.target.method})
                                 .then(handleAjaxResponse);
                         }
                     });
                 // Get page content from XML response
                 var text = await response.text();
                 console.log(text);
-                var parser = new DOMParser();
-                var data = parser.parseFromString(text, "application/xml");
-                window.history.pushState(data, "", url);
+                window.history.pushState(text, "", url);
 
-                updatePageState(data);
+                updatePageState(text);
             }
 
             function updatePageState(data) {
                 if (!data) {
-                    fetch(window.location.href, {redirect: "follow", headers: {"Accept": "application/xml"}}).then(handleAjaxResponse);
+                    fetch(window.location.href, {redirect: "follow"}).then(handleAjaxResponse);
                     return;
                 }
-                document.getElementById("main").innerHTML = data.body;
+                var parser = new DOMParser();
+                data = parser.parseFromString(data, "text/html");
+                //console.log(data.querySelector("body").textContent);
+                var body = parser.parseFromString(data.querySelector("body").innerHTML, "text/html");
+                //console.log(body.documentElement.textContent);
+                document.getElementById("main").innerHTML = body.documentElement.textContent;
                 document.title = data.title;
 
                 // Trigger event to signal new page has loaded