React Hooks to detect browsers user-agent using ua-parser-js as main dependency.
npm install @oieduardorabelo/use-user-agentReact Hooks to detect browsers user-agent using ua-parser-js as main dependency.
To install it:
```
yarn add @oieduardorabelo/use-user-agent
An online demo is available at CodeSandbox:
- Live demo: https://codesandbox.io/s/live-demo-use-user-agent-d7iyg
If you've any issues, open an issue with a CodeSandbox link with your issue
In your app, you can add:
`javascript
import { useUserAgent } from '@oieduardorabelo/use-user-agent';
function App() {
let details = useUserAgent(uastring)
...
}
`
- details: It is either null or an ua-parser-js object.details.os
- : It is a Object, with keys name and version as string|undefineddetails.browser
- : It is a Object, with keys name, version and major as string|undefineddetails.cpu
- : It is a Object, with keys architecture as string|undefineddetails.device
- : It is a Object, with keys vendor, model and type as string|undefineddetails.engine
- : It is a Object, with keys name and version as string|undefined
For full documentation, refer to ua-parser-js repository.
- uastring: It is a String, should be a user-agent string, if none is passed, we default to window.navigator.userAgent
Using default value from useUserAgent():
`javascript
import { useUserAgent } from '@oieduardorabelo/use-user-agent';
function App() {
let details = useUserAgent(); // default is window.navigator.userAgent
if (!details) {
return null;
}
let { os, browser, cpu, device, engine } = details;
return (
My OS is {os.name}, on version {os.version}
My Browser is {browser.name}, on version {browser.version} with major {browser.major}
My CPU architecture is {cpu.architecture}
My Device is {device.vendor}, with model {device.model} of type {device.type}
My Engine is {engine.name} with version {engine.version}
Passing a custom user-agent string:
`javascript
import { useUserAgent } from '@oieduardorabelo/use-user-agent';function App() {
let uastring = "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";
let details = useUserAgent(uastring);
if (!details) {
return null;
}
let { os, browser, cpu, device, engine } = details;
return (
My OS is {os.name}, on version {os.version}
My Browser is {browser.name}, on version {browser.version} with major {browser.major}
My CPU architecture is {cpu.architecture}
My Device is {device.vendor}, with model {device.model} of type {device.type}
My Engine is {engine.name} with version {engine.version}
);
}
``