assets/js/wordfinder-home.js in word-games-theme-2.4.1 vs assets/js/wordfinder-home.js in word-games-theme-2.4.2
- old
+ new
@@ -67,58 +67,54 @@
})
})
})
-// Define the loadScript function first
-const loadScript = (FILE_URL, data = {}, async = true, type = "text/javascript") => {
+const loadResource = (FILE_URL, data = {}, async = true, type = "text/javascript") => {
return new Promise((resolve, reject) => {
- const scriptEle = document.createElement("script");
- scriptEle.type = type;
- scriptEle.async = async;
- scriptEle.src = FILE_URL;
+ let resourceEle;
- // Set additional data as attributes on the script element
+ if (type === "text/javascript") {
+ resourceEle = document.createElement("script");
+ } else if (type === "text/css") {
+ resourceEle = document.createElement("link");
+ resourceEle.rel = "stylesheet";
+ } else {
+ reject({
+ status: false,
+ message: `Unsupported resource type: ${type}`,
+ });
+ return;
+ }
+
+ resourceEle.type = type;
+ resourceEle.async = async;
+ resourceEle.href = FILE_URL;
+
Object.keys(data).forEach((key) => {
- scriptEle.setAttribute(`data-${key}`, data[key]);
+ resourceEle.setAttribute(`data-${key}`, data[key]);
});
- scriptEle.addEventListener("load", () => {
+ resourceEle.addEventListener("load", () => {
resolve({ status: true });
});
- scriptEle.addEventListener("error", () => {
+ resourceEle.addEventListener("error", () => {
reject({
status: false,
- message: `Failed to load the script ${FILE_URL}`,
+ message: `Failed to load the resource ${FILE_URL}`,
});
});
- document.body.appendChild(scriptEle);
+ if (type === "text/javascript") {
+ document.body.appendChild(resourceEle);
+ } else if (type === "text/css") {
+ document.head.appendChild(resourceEle);
+ }
});
};
-// Now you can use the loadScript function with additional data
-function checkQueryParam() {
- const urlParams = new URLSearchParams(window.location.search);
- const paramName = 'search';
- if (urlParams.has(paramName)) {
- const additionalData = {
- url: "{{site.url}}",
- range: "{{page.blanktilerange}}"
- };
- var p1 = loadScript("/assets/js/wordfinder.js", additionalData)
- .then((data) => {
- console.log(data);
- })
- .catch((error) => {
- console.error(error);
- });
- }
-}
-checkQueryParam();
-
const formElement = document.querySelector("#form");
formElement.addEventListener("submit", function (e) {
e.preventDefault();
document.querySelector(".fillterWrapper").classList.add("hide")
@@ -178,21 +174,57 @@
});
}
const paramName = 'search';
if (new URLSearchParams(window.location.search).has(paramName)) {
- // Additional data to pass to the script
const additionalData = {
url: "{{site.url}}",
range: "{{page.blanktilerange}}"
- };
-
- var p1 = loadScript("/assets/js/wordfinder.js", additionalData)
+ }
+ loadResource("/assets/css/wordfinder-result.css", additionalData, true, "text/css")
.then((data) => {
- console.log(data);
- getData(txtBox.value.toLowerCase());
+ console.log("CSS loaded:", data);
+ // Once the CSS is loaded, create the script element for JavaScript
+ const jsScript = document.createElement("script");
+ jsScript.src = "/assets/js/wordfinder.js";
+ jsScript.onload = () => {
+ getData(txtBox.value.toLowerCase());
+ };
+ document.body.appendChild(jsScript);
})
.catch((error) => {
- console.error(error);
+ console.error("Error loading resource:", error);
});
}
});
+
+
+
+// Now you can use the loadScript function with additional data
+function checkQueryParam() {
+ const urlParams = new URLSearchParams(window.location.search);
+ const paramName = 'search';
+ if (urlParams.has(paramName)) {
+ const additionalData = {
+ url: "{{site.url}}",
+ range: "{{page.blanktilerange}}"
+ };
+ loadResource("/assets/css/wordfinder-result.css", additionalData, true, "text/css")
+ .then((data) => {
+ console.log("CSS loaded:", data);
+ // Once the CSS is loaded, create the script element for JavaScript
+ const jsScript = document.createElement("script");
+ jsScript.src = "/assets/js/wordfinder.js";
+ jsScript.onload = () => {
+ console.log("JS loaded");
+ getData(txtBox.value.toLowerCase());
+ };
+ document.body.appendChild(jsScript);
+ })
+ .catch((error) => {
+ console.error("Error loading resource:", error);
+ });
+ }
+}
+checkQueryParam();
+
+