From ef72b74ec34e95a38890d542cda298dd6565d5ad Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Fri, 2 May 2025 16:37:29 +0300 Subject: Start replacing browser with a chat demo --- browser/static/htmp.js | 38 -------------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 browser/static/htmp.js (limited to 'browser/static/htmp.js') diff --git a/browser/static/htmp.js b/browser/static/htmp.js deleted file mode 100644 index 27d963b..0000000 --- a/browser/static/htmp.js +++ /dev/null @@ -1,38 +0,0 @@ -const iframe = document.createElement("iframe"); -iframe.name = "htmp"; -iframe.hidden = true; -iframe.addEventListener("load", function () { - setTimeout(() => { - const cd = this.contentDocument; - const cw = this.contentWindow; - // If the server responds with an entire HTML document, replace the current document with it. - // To check whether the response is an entire page we check the presence of this very snippet. - if (cd.querySelector("iframe[name='htmp']")) { - document.documentElement.replaceWith(cd.documentElement); - // If the server responds with a fragment, replace the target element with it. - } else { - document - .querySelector(cw.location.hash || null) - ?.replaceWith(...cd.body.childNodes); - const url = new URL(cw.location.href); - url.searchParams.delete("htmp"); - url.hash = ""; - history.replaceState({}, "", url.toString()); - } - }); -}); -document.body.appendChild(iframe); - -document.querySelectorAll("form[htmp]").forEach(function (el) { - const r = el.attributes.replace.value; - const input = document.createElement("input"); - input.type = "hidden"; - input.name = "htmp"; - input.value = r; - el.appendChild(input); - - const action = new URL(el.action); - action.hash = r; - el.action = action.toString(); - el.target = "htmp"; -}); -- cgit v1.3