From d434ec03b50b676fdd909b7d9965fe94fa55e304 Mon Sep 17 00:00:00 2001 From: shivam8112005 Date: Wed, 16 Oct 2024 17:04:05 +0530 Subject: [PATCH] Trim input value and add exception handling for invalid URL --- src/assets/js/script.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/assets/js/script.js b/src/assets/js/script.js index 36de290..f323c1d 100644 --- a/src/assets/js/script.js +++ b/src/assets/js/script.js @@ -8,10 +8,10 @@ document.addEventListener("DOMContentLoaded", function (e) { console.log("captured cleanly!"); let form = {}; - form.query = document.getElementById("query").value; + form.query = document.getElementById("query").value.trim(); form.commercial = document.getElementById("commercial").checked; form.modify = document.getElementById("modify").checked; - selectedEngine = document.querySelector( + let selectedEngine = document.querySelector( 'input[name="search-engine"]:checked', ); form.searchEngine = selectedEngine.value; @@ -24,8 +24,15 @@ document.addEventListener("DOMContentLoaded", function (e) { // navigate behavior function navigateTo(link) { - if (link) { - window.open(link, "_blank"); + try { + // Validate the URL using the URL constructor + new URL(link); // If the URL is invalid, it will throw an error + if (link) { + window.open(link, "_blank");// If valid, open the link in a new tab + } + + } catch (error) { + console.error("Error occurred: ", error); } }