File size: 1,345 Bytes
c0bb696
 
 
 
 
 
 
 
 
 
 
6aae67a
c0bb696
 
 
 
 
 
 
6aae67a
c0bb696
6aae67a
c0bb696
6aae67a
 
c0bb696
6aae67a
c0bb696
 
 
 
 
60ada88
6aae67a
 
 
 
 
 
 
 
60ada88
6aae67a
 
 
 
 
98b4260
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/** @format */
"use strict";

async function requestGet(url) {
  try {
    const response = await fetch(url, {
      method: "GET",
      headers: {
        "Content-Type": "text/plain;charset=UTF-8",
      },
    });

    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    const arrayBuffer = await response.arrayBuffer();
    const text = new TextDecoder("utf-8").decode(arrayBuffer);
    return text;
  } catch (error) {
    console.error(`Error in requestGet() for url: ${url}`, error);
    let message;
    if (error.message.includes("HTTP error! status")) {
      message = error.message;
    } else if (error.message.includes("NetworkError")) {
      message = "Network error occurred";
    } else {
      message = "An unknown error occurred";
    }
    alert(`requestGet()\nurl: ${url}\n${message}`);
    throw error;
  }
}

function loadScript(url, fn) {
  // const existingScripts = document.querySelectorAll(`script[src="${url}"]`);
  // existingScripts.forEach(script => script.remove());
  const script = document.createElement("script");
  script.src = url;
  script.onload = () => {
    fn();
    document.head.removeChild(script);
  };
  script.onerror = () => {
    const s = `Errore: Impossibile caricare lo script ${url}`;
    alert(s);
  };
  document.head.appendChild(script);
}