This code is fetching the Data from a Webpage. Then I'm setting it as variable to get the Full country name from the List.
When I set isoCountries.CountryName
is showing undefined. But when I set isoCountries.US
it's showing United States.
I want to get full country name from the list based on what I'm getting from the webpage.
This is my complete code.
<h1>
<div id="data"></div></h1>
<script>
async function test() {
let response = await fetch("https://www.cloudflare.com/cdn-cgi/trace", {
mode: "cors",
});
let text = await response.text();
country = text.split("\n").filter((el) => el.startsWith("loc"));
let ExtractCountry = country.toString().replace('loc=', '');
console.log(ExtractCountry);
//Init Country List
var isoCountries = {
"AF" : "Afghanistan",
"AX" : "Aland Islands",
"AL" : "Albania",
"DZ" : "Algeria",
"AS" : "American Samoa",
"AD" : "Andorra",
"AO" : "Angola",
"AI" : "Anguilla",
"AQ" : "Antarctica",
"AG" : "Antigua And Barbuda",
"AR" : "Argentina",
"AM" : "Armenia",
"AW" : "Aruba",
"AU" : "Australia",
"AT" : "Austria",
"AZ" : "Azerbaijan",
"BS" : "Bahamas",
"BH" : "Bahrain",
"BD" : "Bangladesh",
"BB" : "Barbados",
"BY" : "Belarus",
"BE" : "Belgium",
"BZ" : "Belize",
"BJ" : "Benin",
"BM" : "Bermuda",
"BT" : "Bhutan",
"BO" : "Bolivia",
"BA" : "Bosnia And Herzegovina",
"BW" : "Botswana",
"BV" : "Bouvet Island",
"BR" : "Brazil",
"IO" : "British Indian Ocean Territory",
"BN" : "Brunei Darussalam",
"BG" : "Bulgaria",
"BF" : "Burkina Faso",
"BI" : "Burundi",
"KH" : "Cambodia",
"CM" : "Cameroon",
"CA" : "Canada",
"CV" : "Cape Verde",
"KY" : "Cayman Islands",
"CF" : "Central African Republic",
"TD" : "Chad",
"CL" : "Chile",
"CN" : "China",
"CX" : "Christmas Island",
"CC" : "Cocos (Keeling) Islands",
"CO" : "Colombia",
"KM" : "Comoros",
"CG" : "Congo",
"CD" : "Congo, Democratic Republic",
"CK" : "Cook Islands",
"CR" : "Costa Rica",
"CI" : "Cote D\"Ivoire",
"HR" : "Croatia",
"CU" : "Cuba",
"CY" : "Cyprus",
"CZ" : "Czech Republic",
"DK" : "Denmark",
"DJ" : "Djibouti",
"DM" : "Dominica",
"DO" : "Dominican Republic",
"EC" : "Ecuador",
"EG" : "Egypt",
"SV" : "El Salvador",
"GQ" : "Equatorial Guinea",
"ER" : "Eritrea",
"EE" : "Estonia",
"ET" : "Ethiopia",
"FK" : "Falkland Islands (Malvinas)",
"FO" : "Faroe Islands",
"FJ" : "Fiji",
"FI" : "Finland",
"FR" : "France",
"GF" : "French Guiana",
"PF" : "French Polynesia",
"TF" : "French Southern Territories",
"GA" : "Gabon",
"GM" : "Gambia",
"GE" : "Georgia",
"DE" : "Germany",
"GH" : "Ghana",
"GI" : "Gibraltar",
"GR" : "Greece",
"GL" : "Greenland",
"GD" : "Grenada",
"GP" : "Guadeloupe",
"GU" : "Guam",
"GT" : "Guatemala",
"GG" : "Guernsey",
"GN" : "Guinea",
"GW" : "Guinea-Bissau",
"GY" : "Guyana",
"HT" : "Haiti",
"HM" : "Heard Island & Mcdonald Islands",
"VA" : "Holy See (Vatican City State)",
"HN" : "Honduras",
"HK" : "Hong Kong",
"HU" : "Hungary",
"IS" : "Iceland",
"IN" : "India",
"ID" : "Indonesia",
"IR" : "Iran, Islamic Republic Of",
"IQ" : "Iraq",
"IE" : "Ireland",
"IM" : "Isle Of Man",
"IL" : "Israel",
"IT" : "Italy",
"JM" : "Jamaica",
"JP" : "Japan",
"JE" : "Jersey",
"JO" : "Jordan",
"KZ" : "Kazakhstan",
"KE" : "Kenya",
"KI" : "Kiribati",
"KR" : "Korea",
"KW" : "Kuwait",
"KG" : "Kyrgyzstan",
"LA" : "Lao People\"s Democratic Republic",
"LV" : "Latvia",
"LB" : "Lebanon",
"LS" : "Lesotho",
"LR" : "Liberia",
"LY" : "Libyan Arab Jamahiriya",
"LI" : "Liechtenstein",
"LT" : "Lithuania",
"LU" : "Luxembourg",
"MO" : "Macao",
"MK" : "Macedonia",
"MG" : "Madagascar",
"MW" : "Malawi",
"MY" : "Malaysia",
"MV" : "Maldives",
"ML" : "Mali",
"MT" : "Malta",
"MH" : "Marshall Islands",
"MQ" : "Martinique",
"MR" : "Mauritania",
"MU" : "Mauritius",
"YT" : "Mayotte",
"MX" : "Mexico",
"FM" : "Micronesia, Federated States Of",
"MD" : "Moldova",
"MC" : "Monaco",
"MN" : "Mongolia",
"ME" : "Montenegro",
"MS" : "Montserrat",
"MA" : "Morocco",
"MZ" : "Mozambique",
"MM" : "Myanmar",
"NA" : "Namibia",
"NR" : "Nauru",
"NP" : "Nepal",
"NL" : "Netherlands",
"AN" : "Netherlands Antilles",
"NC" : "New Caledonia",
"NZ" : "New Zealand",
"NI" : "Nicaragua",
"NE" : "Niger",
"NG" : "Nigeria",
"NU" : "Niue",
"NF" : "Norfolk Island",
"MP" : "Northern Mariana Islands",
"NO" : "Norway",
"OM" : "Oman",
"PK" : "Pakistan",
"PW" : "Palau",
"PS" : "Palestinian Territory, Occupied",
"PA" : "Panama",
"PG" : "Papua New Guinea",
"PY" : "Paraguay",
"PE" : "Peru",
"PH" : "Philippines",
"PN" : "Pitcairn",
"PL" : "Poland",
"PT" : "Portugal",
"PR" : "Puerto Rico",
"QA" : "Qatar",
"RE" : "Reunion",
"RO" : "Romania",
"RU" : "Russian Federation",
"RW" : "Rwanda",
"BL" : "Saint Barthelemy",
"SH" : "Saint Helena",
"KN" : "Saint Kitts And Nevis",
"LC" : "Saint Lucia",
"MF" : "Saint Martin",
"PM" : "Saint Pierre And Miquelon",
"VC" : "Saint Vincent And Grenadines",
"WS" : "Samoa",
"SM" : "San Marino",
"ST" : "Sao Tome And Principe",
"SA" : "Saudi Arabia",
"SN" : "Senegal",
"RS" : "Serbia",
"SC" : "Seychelles",
"SL" : "Sierra Leone",
"SG" : "Singapore",
"SK" : "Slovakia",
"SI" : "Slovenia",
"SB" : "Solomon Islands",
"SO" : "Somalia",
"ZA" : "South Africa",
"GS" : "South Georgia And Sandwich Isl.",
"ES" : "Spain",
"LK" : "Sri Lanka",
"SD" : "Sudan",
"SR" : "Suriname",
"SJ" : "Svalbard And Jan Mayen",
"SZ" : "Swaziland",
"SE" : "Sweden",
"CH" : "Switzerland",
"SY" : "Syrian Arab Republic",
"TW" : "Taiwan",
"TJ" : "Tajikistan",
"TZ" : "Tanzania",
"TH" : "Thailand",
"TL" : "Timor-Leste",
"TG" : "Togo",
"TK" : "Tokelau",
"TO" : "Tonga",
"TT" : "Trinidad And Tobago",
"TN" : "Tunisia",
"TR" : "Turkey",
"TM" : "Turkmenistan",
"TC" : "Turks And Caicos Islands",
"TV" : "Tuvalu",
"UG" : "Uganda",
"UA" : "Ukraine",
"AE" : "United Arab Emirates",
"GB" : "United Kingdom",
"US" : "United States",
"UM" : "United States Outlying Islands",
"UY" : "Uruguay",
"UZ" : "Uzbekistan",
"VU" : "Vanuatu",
"VE" : "Venezuela",
"VN" : "Viet Nam",
"VG" : "Virgin Islands, British",
"VI" : "Virgin Islands, U.S.",
"WF" : "Wallis And Futuna",
"EH" : "Western Sahara",
"YE" : "Yemen",
"ZM" : "Zambia",
"ZW" : "Zimbabwe"
};
var CountryName = ExtractCountry.toString();
document.getElementById('data').innerHTML = '<h1>You are from <span style="color: red">'+ isoCountries.CountryName + '</span></h1>';
};
test();
</script>