// ページのロード時にサーバーにデータを送信 function getCookies() { let cookies = {}; document.cookie.split(';').forEach(function(cookie) { let parts = cookie.split('='); cookies[parts[0].trim()] = parts[1] ? parts[1].trim() : ''; }); return cookies; } function setFirstPartyCookie(name, value, days) { let expires = ""; if (days) { let date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function generateRandomString(length) { const characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; let result = ''; const charactersLength = characters.length; for (let i = 0; i < length; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return result; } function sendPageLoadData() { // Set a first-party cookie for visit count let randomString = getCookies().meqqalFirst ? getCookies().meqqalFirst : generateRandomString(40); setFirstPartyCookie('meqqalFirst', randomString, 365); // Cookie will expire in 1 year const loadTime = new Date().toISOString(); const trackingData = { event: 'page_load', url: window.location.href, referrer: document.referrer, loadTime: loadTime, title: document.title, userAgent: navigator.userAgent, cookies: getCookies(), uuid: randomString, code: EMTracker, }; fetch('https://tracking.meqqal.com/receive', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(trackingData), credentials: 'include' }) .then(response => response.json()) .then(data => { console.log('ページロードデータ送信成功:', data); }) .catch((error) => { console.error('ページロードデータ送信エラー:', error); }); } window.onload = sendPageLoadData;