Skip to content
This repository has been archived by the owner on Apr 11, 2024. It is now read-only.

bestiejs/platform.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

44978b2 · Jul 4, 2020
Jul 4, 2020
Jul 4, 2020
Jul 4, 2020
Jan 1, 2016
May 16, 2014
Mar 17, 2014
Jul 4, 2020
Mar 24, 2015
Jun 23, 2020
Jul 4, 2020
Jan 1, 2016
Jul 4, 2020
Jul 4, 2020
Jul 4, 2020

Repository files navigation

Platform.js v1.3.6

A platform detection library that works on nearly all JavaScript platforms.

Disclaimer

Platform.js is for informational purposes only & not intended as a substitution for feature detection/inference checks.

Documentation

Installation

In a browser:

<script src="platform.js"></script>

In an AMD loader:

require(['platform'], function(platform) {/*…*/});

Using npm:

$ npm i --save platform

In Node.js:

var platform = require('platform');

Usage example:

// on IE10 x86 platform preview running in IE7 compatibility mode on Windows 7 64 bit edition
platform.name; // 'IE'
platform.version; // '10.0'
platform.layout; // 'Trident'
platform.os; // 'Windows Server 2008 R2 / 7 x64'
platform.description; // 'IE 10.0 x86 (platform preview; running in IE 7 mode) on Windows Server 2008 R2 / 7 x64'

// or on an iPad
platform.name; // 'Safari'
platform.version; // '5.1'
platform.product; // 'iPad'
platform.manufacturer; // 'Apple'
platform.layout; // 'WebKit'
platform.os; // 'iOS 5.0'
platform.description; // 'Safari 5.1 on Apple iPad (iOS 5.0)'

// or parsing a given UA string
var info = platform.parse('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7.2; en; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 11.52');
info.name; // 'Opera'
info.version; // '11.52'
info.layout; // 'Presto'
info.os; // 'Mac OS X 10.7.2'
info.description; // 'Opera 11.52 (identifying as Firefox 4.0) on Mac OS X 10.7.2'

Support

Tested in Chrome 82-83, Firefox 77-78, IE 11, Edge 82-83, Safari 12-13, Node.js 4-14, & PhantomJS 2.1.1.

BestieJS

Platform.js is part of the BestieJS “Best in Class” module collection. This means we promote solid browser/environment support, ES5+ precedents, unit testing, & plenty of documentation.