Nuxt.js module for handling User-Agent.
Inspired by rack-user-agent and, Thanks to woothee 🙏
Install with yarn:
yarn add nuxt-user-agent
Install with npm:
npm install nuxt-user-agent
nuxt.config.js
module.exports = {
modules: [
'nuxt-user-agent',
]
}
asyncData(context) {
const deviceType = context.$ua.deviceType()
return { deviceType }
}
methods: {
something() {
const deviceType = this.$ua.deviceType()
this.deviceType = deviceType
}
}
// In store
{
actions: {
getDeviceType ({ commit }) {
const deviceType = this.$ua.deviceType()
commit('SET_DEVICE_TYPE', deviceType)
}
}
}
<template>
<section>
<div v-if="$ua.isFromPc()">
<span>PC</span>
</div>
<div v-if="$ua.isFromSmartphone()">
<span>Smartphone</span>
</div>
<div v-if="$ua.isFromMobilephone()">
<span>Mobilephone</span>
</div>
<div v-if="$ua.isFromTablet()">
<span>Tablet</span>
</div>
<div v-if="$ua.isFromAppliance()">
<span>Appliance</span>
</div>
<div v-if="$ua.isFromCrawler()">
<span>Crawler</span>
</div>
</section>
</template>
method | type | example |
---|---|---|
deviceType | string | pc |
os | string | Mac OSX |
osVersion | string | 10.12.6 |
browser | string | Chrome |
browserVersion | string | 65.0.3325.181 |
browserVendor | string | |
isFromIphone | boolean | true |
isFromIpad | boolean | true |
isFromIpod | boolean | true |
isFromIos | boolean | true |
isFromAndroidMobile | boolean | true |
isFromAndroidTablet | boolean | true |
isFromAndroidOs | boolean | true |
isFromWindowsPhone | boolean | true |
isFromPc | boolean | true |
isFromSmartphone | boolean | true |
isFromMobilephone | boolean | true |
isFromAppliance | boolean | true |
isFromCrawler | boolean | true |
isFromTablet | boolean | true |
- unit test
The npm is available as open source under the terms of the MIT License.