const visitors_ws_scheme = window.location.protocol === "https:" ? "wss" : "ws"; const my_domain = "osina.ositcom.com"; const visitorsSocketUrl = `${visitors_ws_scheme}://${my_domain}/ws/osichat/visitors/`; 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.onclose = () => { console.log('WebSocket connection to visitors closed'); }; visitorsSocket.onerror = (error) => { console.error('WebSocket error:', error); }; }); } initializeWebSocket(); });