Socket
Socket
Sign inDemoInstall

ua-parser-js

Package Overview
Dependencies
0
Maintainers
1
Versions
74
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ua-parser-js

Lightweight JavaScript-based user-agent parser


Version published
Weekly downloads
12M
decreased by-1.33%
Maintainers
1
Created
Weekly downloads
 

Package description

What is ua-parser-js?

The ua-parser-js package is a utility for parsing user agent strings. It can be used to extract detailed information about the browser, engine, OS, CPU, and device from the user agent string provided by the client's browser.

What are ua-parser-js's main functionalities?

Browser Detection

This feature allows you to detect the browser name and version from the user agent string.

const UAParser = require('ua-parser-js');
const parser = new UAParser();
const browser = parser.getBrowser();
console.log(browser);

Operating System Detection

This feature enables you to determine the operating system and its version from the user agent string.

const UAParser = require('ua-parser-js');
const parser = new UAParser();
const os = parser.getOS();
console.log(os);

Device Detection

With this feature, you can identify the device type, vendor, and model from the user agent string.

const UAParser = require('ua-parser-js');
const parser = new UAParser();
const device = parser.getDevice();
console.log(device);

Engine Detection

This feature allows you to extract the layout engine name and version from the user agent string.

const UAParser = require('ua-parser-js');
const parser = new UAParser();
const engine = parser.getEngine();
console.log(engine);

CPU Architecture Detection

This feature provides information about the CPU architecture from the user agent string.

const UAParser = require('ua-parser-js');
const parser = new UAParser();
const cpu = parser.getCPU();
console.log(cpu);

Other packages similar to ua-parser-js

Readme

Source

UA-Parser.js

JavaScript-based user-agent parser

  • Author : Faisalman <fyzlman@gmail.com>
  • Home : http://faisalman.github.com/ua-parser-js
  • Source : https://github.com/faisalman/ua-parser-js
  • License : GPLv2 & MIT

Features

Get detailed type and version of web browser, layout engine, operating system, and device.

Methods

  • getBrowser([uastring])
  • getDevice([uastring])
  • getEngine([uastring])
  • getOS([uastring])
  • setUA(uastring)

Properties

  • result

Example

<script type="text/javascript" src="ua-parser.js"></script>
<script type="text/javascript">
    
    // by default it takes ua string from current browser's window.navigator
    console.log(UAParser.result);
    /*
        /// this will print an object structured like this:
        {
            browser: {
                name: "",
                version: "",
                major: ""
            },
            device: {
                name: "",
                version: ""
            },
            engine: {
                name: "",
                version: ""
            },
            os: {
                name: "",
                version: ""
            },
            device: {
                name: "",
                version: ""
            }
        }
    */

    // let's test a custom user-agent string as an example
    var uastr = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.2 (KHTML, like Gecko) Ubuntu/11.10 Chromium/15.0.874.106 Chrome/15.0.874.106 Safari/535.2";
    UAParser.setUA(uastr);
    
    console.log(UAParser.result.browser);  // {name: "Chromium", major: "15", version: "15.0.874.106"}
    console.log(UAParser.result.engine);   // {name: "AppleWebKit", version: "535.2"}
    console.log(UAParser.result.os);       // {name: "Ubuntu", version: "11.10"}
    
    // let's take another test please
    UAParser.setUA("Mozilla/5.0 (compatible; Konqueror/4.1; OpenBSD) KHTML/4.1.4 (like Gecko)").getOS().name; // prints "OpenBSD"
</script>

Using node.js

var parser = require('ua-parser');

var ua1 = 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11 (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11';
var ua2 = 'Midori/0.2 (X11; Linux; U; cs-cz) WebKit/531.2+';

parser.setUA(ua1).getDevice().name; // prints "PlayBook"
parser.getOS()                      // prints {name: "RIM Tablet OS", version: "1.0.0"}
parser.getOS(ua2)                   // prints {name: "Linux", version: undefined}
parser.getOS()                      // prints {name: "RIM Tablet OS", version: "1.0.0"}
parser.getEngine().name;            // prints "AppleWebKit"

License

Copyright © 2012 Faisalman <fyzlman@gmail.com>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Keywords

FAQs

Last updated on 28 Jul 2012

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc