Complete guide to browser detection, cookies, language, connectivity, and platform information
1. Basic Navigator Properties
π€
User Agent
navigator.userAgent
Loading...
Contains browser and OS information. Used for browser detection but can be spoofed. Modern approach: Use feature detection instead.
π·οΈ
Application Name
navigator.appName
Loading...
Legacy property that usually returns "Netscape" for compatibility. Not reliable for modern browsers.
π€
Application Code Name
navigator.appCodeName
Loading...
Usually returns "Mozilla" for all browsers. Historical property from Netscape Navigator days.
π»
Platform
navigator.platform
Loading...
Operating system platform. Values like "Win32", "MacIntel", "Linux x86_64", "iPhone", "Android".
βοΈ
Product
navigator.product
Loading...
Usually returns "Gecko" for Firefox and "WebKit" for Chrome/Safari. Rendering engine name.
π’
Version
navigator.appVersion
Loading...
Browser version information. Contains version number and platform details. Part of userAgent string.
π
2. Browser Detection & Information
Detected Browser
Detecting...
Browser Version
Detecting...
Operating System
Detecting...
Device Type
Detecting...
// Modern Browser Detection
function detectBrowser() {
const ua = navigator.userAgent;
let browser = "Unknown";
let version = "Unknown";
// Chrome
if (ua.indexOf("Chrome") > -1 && !ua.indexOf("Edg") > -1) {
browser = "Chrome";
version = ua.match(/Chrome\/(\d+\.\d+)/)?.[1];
}
// Firefox
else if (ua.indexOf("Firefox") > -1) {
browser = "Firefox";
version = ua.match(/Firefox\/(\d+\.\d+)/)?.[1];
}
// Safari
else if (ua.indexOf("Safari") > -1 && !ua.indexOf("Chrome") > -1) {
browser = "Safari";
version = ua.match(/Version\/(\d+\.\d+)/)?.[1];
}
// Edge
else if (ua.indexOf("Edg") > -1) {
browser = "Edge";
version = ua.match(/Edg\/(\d+\.\d+)/)?.[1];
}
return { browser, version };
}
3. Browser Cookies Management
No cookies set yet. Create some cookies below!
// Cookie Management Functions
// Create cookie
function setCookie(name, value, days) {
let expires = "";
if (days) {
const date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + value + expires + "; path=/";
}
// Read cookie
function getCookie(name) {
const nameEQ = name + "=";
const ca = document.cookie.split(';');
for(let i=0; i < ca.length; i++) {
let c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length);
}
return null;
}
// Get browser language
const language = navigator.language || navigator.userLanguage;
console.log('Browser language:', language); // "en-US"
// Get all preferred languages
const languages = navigator.languages;
console.log('Preferred languages:', languages); // ["en-US", "en", "es"]
// Internationalization example
const date = new Date();
const formattedDate = new Intl.DateTimeFormat(language).format(date);
const formattedNumber = new Intl.NumberFormat(language).format(1234567.89);