Skip to content

Latest commit

 

History

History
120 lines (75 loc) · 2.75 KB

README.md

File metadata and controls

120 lines (75 loc) · 2.75 KB

Habitat.js

Author: Austin K. Smith

Website: Github

Description: 100% Vanilla Javascript Automatic Environment Detection Library

License: Artistic License 2.0

About

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.

Install

  • Add Habitat.js to your project using the instructions below

HTML

  • 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>

Node

  • 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');

Once you've installed Habitat.js you should now be able to run the following methods.

  • 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