@nuxtjs/device
v3.2.4
Published
Device detection module for Nuxt
Downloads
325,232
Keywords
Readme
Nuxt Device
Detect the type of device in your Nuxt applications.
See demo on CodeSandbox.
Installation
npx nuxi@latest module add device
[!NOTE] You can find the Nuxt 2 version of the module on the
2.x
branch.
Flags
You can use the following flags to detect the device type:
$device.isDesktop
$device.isMobile
$device.isTablet
$device.isMobileOrTablet
$device.isDesktopOrTablet
$device.isIos
$device.isWindows
$device.isMacOS
$device.isApple
$device.isAndroid
$device.isFirefox
$device.isEdge
$device.isChrome
$device.isSafari
$device.isSamsung
$device.isCrawler
The user agent is also injected and accessible with $device.userAgent
.
The crawler detection is powered by the crawler-user-agents package.
Usage
You can either use the useDevice()
composable inside a script setup
, or the $device
helper directly in the template:
<template>
<div>
<div v-if="$device.isDesktop">Desktop</div>
<div v-else-if="$device.isTablet">Tablet</div>
<div v-else>Mobile</div>
</div>
</template>
<script setup>
const { isMobile } = useDevice()
</script>
Changing Layout Dynamically
<template>
<div>
<NuxtLayout :name="$device.isMobile ? 'mobile' : 'default'">
<!-- page content -->
</NuxtLayout>
</div>
</template>
<script setup>
definePageMeta({
layout: false
})
</script>
Options
defaultUserAgent
Sets the default value for the user-agent
header (useful when running npm run generate
).
Default: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.39 Safari/537.36
enabled
Enables the module conditionally.
Default: true
[!WARNING] This option is deprecated. It will be removed in the next major release.
refreshOnResize
Refreshes flags on window resize.
Default: false
[!WARNING] This option is deprecated. It will be removed in the next major release.
Amazon CloudFront Support
If the user agent is Amazon CloudFront
, the module checks for the following headers:
CloudFront-Is-Android-Viewer
CloudFront-Is-Desktop-Viewer
CloudFront-Is-IOS-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-Tablet-Viewer
Read more about determining the viewer's device type in the Amazon CloudFront docs.
[!CAUTION]
isWindows
andisMacOS
flags are not available in Amazon CloudFront.
Cloudflare Support
This module checks for the CF-Device-Type
header.
Read more about the device type detection in the Cloudflare docs.