let count = 0; let counttxt = document.querySelector("#count"); window.addEventListener("DOMContentLoaded", (e) => { getView(); }); // handle posting data to db function getView() { $.ajax({ url: "insert.php", method: "POST", dataType: "text", data: { count: count, }, success: (data, status) => { console.log(data); }, }); } setInterval(() => { getData(); }, 1000); // handle getting dada from database function getData(data) { $.ajax({ url: "fetch.php", method: "POST", dataType: "text", data: { fetch: true, }, success: (data, status) => { counttxt.textContent = data; }, }); } async function userLocation() { const API_KEY = "7c0a8d3613ed43a7adeb63a2884f59b4"; let locationcont = document.querySelector(".v-loc"); let url = `https://ipgeolocation.abstractapi.com/v1/?api_key=${API_KEY}`; let fetchdata = await fetch(url); let data = await fetchdata.json(); const { city, country, ip_address, latitude, longitude } = data; let loader = document.querySelector(".loader-cont"); if (location.innerHTML = "") { loader.style.display = "flex"; locationcont.innerHTML = ""; } else { setTimeout(() => { loader.style.display = "none"; }, 2000); locationcont.innerHTML = ` <div class="location"> <div class="box"> <div class="icon"><ion-icon name="location-outline"></ion-icon></div> <b><p>${country}</p></b> </div> <div class="box"> <div class="icon"><ion-icon name="locate-outline"></ion-icon></div> <b><p>${city}</p></b> </div> </div> <div class="geo"> <div class="box"> <div class="box-1"> <span class="icon"><ion-icon name="compass-outline"></ion-icon></span> <i>lat</i> <br> <small>${latitude}</small> </div> <div class="box-1"> <span class="icon"><ion-icon name="compass-outline"></ion-icon></span> <i>lng</i> <br> <small>${longitude}</small> </div> </div> <div class="ip"> <span class="icon"><ion-icon name="navigate-outline"></ion-icon></span> <small>IP ADDRESS</small> <h3><i>${ip_address}</i></h3> </div> </div> `; } } userLocation();