aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/main.ts11
1 files changed, 8 insertions, 3 deletions
diff --git a/frontend/main.ts b/frontend/main.ts
index 7f1041a..3c301a1 100644
--- a/frontend/main.ts
+++ b/frontend/main.ts
@@ -4,10 +4,10 @@ import { add_page_content } from "./ui.ts"
load_bangs()
-globalThis.addEventListener("hashchange", () => process_url())
-globalThis.addEventListener("load", () => process_url())
+globalThis.addEventListener("hashchange", () => process_url(true))
+globalThis.addEventListener("load", () => process_url(false))
-function process_url() {
+function process_url(is_hashchange: boolean) {
if (document.location.hash.length != 0) {
const input = document.location.hash.substring(1)
const [engine, query_encoded] = input.split("#")
@@ -15,6 +15,11 @@ function process_url() {
const query = decodeURIComponent(query_encoded.replaceAll("+", " "))
process_query(engine, query)
} else {
+ if (is_hashchange)
+ // chromium won't autodiscover the search engine if we add the link tag
+ // after a hashchange, so we reload the page, such that we are immediately
+ // on the page where we will put the link.
+ window.location.reload()
add_page_content(engine)
}
} else {