Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

ng-device-detector

srfrnk14.9kMIT5.1.4

Uses user-agent to set css classes or directly usable via JS.

angularjs

readme

ng-device-detector

Angular module to detect OS / Browser / Device

Build Status GitHub issues Known Vulnerabilities Open Source Helpers

GitHub license npm npm npm

Commitizen friendly Semver

Uses user-agent to set CSS classes or directly usable via JS. See website: http://srfrnk.github.io/ng-device-detector

Install

NPM

$ npm install ng-device-detector --save

Bower

$ bower install ng-device-detector --save

Browser (Add scripts in HTML)

<script type="text/javascript" src=".../re-tree.js"></script>
<script type="text/javascript" src=".../ua-device-detector.js"></script>
<script type="text/javascript" src=".../ng-device-detector.js"></script>

Adding 'ng.deviceDetector' to your app module dependencies

angular.module('app', ['ng.deviceDetector']);

Injecting DeviceDetector service in controller

angular.module('app').controller('Home', function($scope, deviceDetector){
  // Awesome stuff
});

To add classes, add directive like: <div device-detector>

Setup

You can set custom detectors at the provider object. The

angular.module('app', ["ng.deviceDetector"])
    .config(['deviceDetectorProvider', function(deviceDetectorProvider) {
      deviceDetectorProvider.addCustom("Custom_UA_Entry", {
        and:["\\bCustom_UA_Entry\\b", {
            not:"\\bChrome\\b"
        }]
      });
    }])

    .controller('Home', function($scope, deviceDetector) {
      // (true / false)
      $scope.customUAEntry = deviceDetector.custom["Custom_UA_Entry"];
    });

Custom detectors will also be added as CSS classes with 'is-' prefix and encoded into css class name casing.

deviceDetector service

Holds the following properties:

  • raw : object : contains the raw values... for internal use mostly.
  • os : string : name of current OS
  • browser : string : name of current browser
  • device : string : name of current device

Support

At first I added just major browser, OS, device support. With help from mariendries, javierprovecho and crisandretta more support was added. The current list of supported browser, OS, device can be easily viewed in here.

Pull-requests with new stuff will be highly appreciated :)

Example

See plunker

License

MIT License

changelog

Change Log

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

5.1.4 (2019-10-21)

5.1.3 (2018-12-01)

Bug Fixes

5.1.2 (2018-02-24)

Bug Fixes

  • fixes #78 - updated dependencies to fixed versions (ca01b6b)

5.1.1 (2018-02-17)

5.1.0 (2018-02-17)

Bug Fixes

Features

  • CI-CD: added standard-version + travis npm deploy (f3c644d)

Version 1.1.7

  • device id "firefoxos" was changed to "firefox-os"
  • os id "firefoxos" was changed to "firefox-os"

Version 3.0.1

  • Breaking changes
  • Removed OS and BROWSER for device types.
  • Should now detect those by using the 'device' property

Version 5.0.1

  • Breaking changes:
  • ua-device-detector script must now be loaded before ng-device-detector script. Consult README for more details.