diff --git a/osinaweb/static/js/osichat/visitors.js b/osinaweb/static/js/osichat/visitors.js index 920022a2..8cfab54b 100644 --- a/osinaweb/static/js/osichat/visitors.js +++ b/osinaweb/static/js/osichat/visitors.js @@ -3,50 +3,51 @@ const my_domain = "osina.ositcom.com"; const visitorsSocketUrl = `${visitors_ws_scheme}://${my_domain}/ws/osichat/visitors/`; // Function to fetch client IP and country from the API -function fetchClientData() { - return fetch('https://osina.ositcom.com/get-client-ip/') - .then(response => response.json()) - .then(data => ({ - client_ip: data.ip, - client_country: data.country - })) - .catch(error => { - console.error('Error fetching client data:', error); - return { - client_ip: 'Unknown', - client_country: 'Unknown' - }; - }); -} - -function initializeWebSocket() { - const referrer = document.referrer; - - // Fetch client data and then initialize WebSocket - fetchClientData().then(({ client_ip, client_country }) => { - const visitorsSocket = new WebSocket(visitorsSocketUrl); - - visitorsSocket.onopen = () => { - console.log('WebSocket connection to visitors established'); - - const event_message = { - 'event_type': 'new_visitor', - 'referrer': referrer, - 'url': window.location.href, - 'client_ip': client_ip, - 'client_country': client_country +document.addEventListener('DOMContentLoaded', () => { + function fetchClientData() { + return fetch('https://osina.ositcom.com/get-client-ip/') + .then(response => response.json()) + .then(data => ({ + client_ip: data.ip, + client_country: data.country + })) + .catch(error => { + console.error('Error fetching client data:', error); + return { + client_ip: 'Unknown', + client_country: 'Unknown' + }; + }); + } + + function initializeWebSocket() { + const referrer = document.referrer; + + fetchClientData().then(({ client_ip, client_country }) => { + const visitorsSocket = new WebSocket(visitorsSocketUrl); + + visitorsSocket.onopen = () => { + console.log('WebSocket connection to visitors established'); + + const event_message = { + 'event_type': 'new_visitor', + 'referrer': referrer, + 'url': window.location.href, + 'client_ip': client_ip, + 'client_country': client_country + }; + visitorsSocket.send(JSON.stringify(event_message)); }; - visitorsSocket.send(JSON.stringify(event_message)); - }; - visitorsSocket.onclose = () => { - console.log('WebSocket connection to visitors closed'); - }; + visitorsSocket.onclose = () => { + console.log('WebSocket connection to visitors closed'); + }; - visitorsSocket.onerror = (error) => { - console.error('WebSocket error:', error); - }; - }); -} + visitorsSocket.onerror = (error) => { + console.error('WebSocket error:', error); + }; + }); + } -initializeWebSocket(); + initializeWebSocket(); +});