diff options
| -rw-r--r-- | app.js | 4 | ||||
| -rw-r--r-- | ka.js | 19 |
2 files changed, 12 insertions, 11 deletions
@@ -97,8 +97,8 @@ const routes = { p("The requested page is not available.") ), }; -const onchange = () => { - doc.querySelectorAll('nav a').forEach(x => x.$cls((location.href===x.href)?"active":"")); +const onchange = (h) => { + doc.querySelectorAll('nav a').forEach(x => x.$cls(x.attr("href")===h?"active":"")); loading(isLoading); }; @@ -50,14 +50,15 @@ var img = (src) => tag("img", {src}); var input = (type) => tag("input", {type}); function router(root, routes, onreload) { - function reload() { - const h = doc.location.hash.substr(1) || "/"; - const r = h in routes ? h : ""; - root.replaceChildren(routes[r]()); - onreload && onreload(r); - }; - reload(); - window.addEventListener("hashchange", reload); - root.reload = reload; + function reload() { + const h = doc.location.hash || "#"; + const p = h.substr(1) || "/"; + const r = p in routes ? p : ""; + root.replaceChildren(routes[r]()); + onreload && onreload(h); + }; + reload(); + window.addEventListener("hashchange", reload); + root.reload = reload; } |
