JavaScript Client Detection (JSCD)

This script serves you with many informations about the client machine. Flash check is optional and only runs if swfobj.js is included.

by ChristianL

HTML

<script src="//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

JavaScript

/**
 * JavaScript Client Detection
 * (C) viazenetti GmbH (Christian Ludwig)
 */
(function (window) {
	{
		var unknown = '-';

		// screen
		var screenSize = '';
		if (screen.width) {
			width = (screen.width) ? screen.width : '';
			height = (screen.height) ? screen.height : '';
			screenSize += '' + width + " x " + height;
		}

		// browser
		var nVer = navigator.appVersion;
		var nAgt = navigator.userAgent;
		var browser = navigator.appName;
		var version = '' + parseFloat(nVer);
		var nameOffset, verOffset, ix;

		// Yandex Browser
		if ((verOffset = nAgt.indexOf('YaBrowser')) != -1) {
			browser = 'Yandex';
			version = nAgt.substring(verOffset + 10);
		}
		// Samsung Browser
		else if ((verOffset = nAgt.indexOf('SamsungBrowser')) != -1) {
			browser = 'Samsung';
			version = nAgt.substring(verOffset + 15);
		}
		// UC Browser
		else if ((verOffset = nAgt.indexOf('UCBrowser')) != -1) {
			browser = 'UC Browser';
			version = nAgt.substring(verOffset + 10);
		}
        // Opera Next
		else if ((verOffset = nAgt.indexOf('OPR')) != -1) {
			browser = 'Opera';
			version = nAgt.substring(verOffset + 4);
		}
        // Opera
		else if ((verOffset = nAgt.indexOf('Opera')) != -1) {
			browser = 'Opera';
			version = nAgt.substring(verOffset + 6);
			if ((verOffset = nAgt.indexOf('Version')) != -1) {
				version = nAgt.substring(verOffset + 8);
			}
		}
		// Legacy Edge
		else if ((verOffset = nAgt.indexOf('Edge')) != -1) {
			browser = 'Microsoft Legacy Edge';
			version = nAgt.substring(verOffset + 5);
		} 
		// Edge (Chromium)
		else if ((verOffset = nAgt.indexOf('Edg')) != -1) {
			browser = 'Microsoft Edge';
			version = nAgt.substring(verOffset + 4);
		}
		// MSIE
		else if ((verOffset = nAgt.indexOf('MSIE')) != -1) {
			browser = 'Microsoft Internet Explorer';
			version = nAgt.substring(verOffset + 5);
		}
		// Chrome
		else if ((verOffset = nAgt.indexOf('Chrome')) != -1) {
			browser = 'Chrome';
			version = nAgt.substring(verOffset + 7);
		}
		//...