Newer
Older
express-blog / public / js / track.js
@Jason Jason on 26 Jun 487 bytes modified: package-lock.json
const navEntry = performance.getEntriesByType("navigation")[0];

fetch("/track", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    url: window.location.pathname,
    referrer: document.referrer,
    userAgent: navigator.userAgent,
    viewport: `${window.innerWidth}x${window.innerHeight}`,
    loadTime: navEntry
      ? navEntry.domContentLoadedEventEnd - navEntry.startTime
      : performance.now(),
    event: "pageview",
  }),
});