Author: Austin K. Smith
Website: Github
Description: 100% Vanilla Javascript Automatic Environment Detection Library
License: Artistic License 2.0
A collection of useful cross platform environmental detection methods, originally written for use with Hamsters.js now moved into it's own package for reusability.
- Add Habitat.js to your project using the instructions below
- Download a copy of the library and add it to your webserver public directory
- Add script tag to your html page
<!-- HTML4 and (x)HTML -->
<script type="text/javascript" src="path/to/habitat.web.min.js">
<!-- HTML5 -->
<script src="path/to/habitat.web.min.js"></script>
- Use npm install to add the project to your dependencies
npm install --save habitat
- Require the npm module in your app.js file
var habitat = require('habitat.js');
- isIE - Determine if execution environment is Internet Explorer by version.
var version = 10;
habitat.isIE(version); // true or false
- logicalThreads - Determine number of logical threads available, Node.js or Web detection. (Respects Firefox per origin limit of 20)
habitat.logicalThreads(); // integer
- blob - Detects execution environments data blob builder, supports all vendor prefixes.
var blobMaker = habitat.blob(); // constructor
new blobMaker(...);
- browser - Determine if execution environment is a web browser.
habitat.browser(); // true or false
- webWorker - Determine if execution environment is a webWorker.
habitat.webWorker(); // true or false
- node - Determine if execution environment is Node.js.
habitat.node(); // true or false
- reactNative - Determine if execution environment is reactNative.
habitat.reactNative(); // true or false
- shell - Determine if execution environment is a shell.
habitat.shell(); // true or false
- transferrable - Determine if execution environment supports transferrable objects (typed arrays).
habitat.transferrable(); // true or false
- atomics - Determine if execution environment supports atomic operations (shared array buffers).
habitat.atomics(); // true or false
- proxies - Determine if execution environment supports proxy objects.
habitat.proxies(); // true or false
- sharedWorkers - Determine if execution environment supports sharedWorkers
habitat.sharedWorkers(); // true or false