Nuxt 裝置
在您的 Nuxt 應用程式中偵測裝置類型。
請參閱 CodeSandbox 上的示範。
安裝
npx nuxi@latest module add device
!注意 您可以在
2.x
分支上找到此模組的 Nuxt 2 版本。
標記
您可以使用以下標記來偵測裝置類型
$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
使用者代理程式也會注入並可透過 $device.userAgent
存取。
爬蟲程式偵測由 crawler-user-agents 套件提供支援。
用法
您可以在 script setup
中使用 useDevice()
composable,或直接在範本中使用 $device
輔助程式
<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>
動態變更版面配置
<template>
<div>
<NuxtLayout :name="$device.isMobile ? 'mobile' : 'default'">
<!-- page content -->
</NuxtLayout>
</div>
</template>
<script setup>
definePageMeta({
layout: false
})
</script>
選項
defaultUserAgent
設定 user-agent
標頭的預設值(在執行 npm run generate
時很有用)。
預設值: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
有條件地啟用模組。
預設值:true
!警告 此選項已棄用。它將在下一個主要版本中移除。
refreshOnResize
在視窗調整大小時重新整理標記。
預設值:false
!警告 此選項已棄用。它將在下一個主要版本中移除。
Amazon CloudFront 支援
如果使用者代理程式是 Amazon CloudFront
,模組會檢查以下標頭
CloudFront-Is-Android-Viewer
CloudFront-Is-Desktop-Viewer
CloudFront-Is-IOS-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-Tablet-Viewer
請閱讀 Amazon CloudFront 文件,瞭解更多關於如何判斷檢視器裝置類型資訊。
!注意
isWindows
和isMacOS
標記在 Amazon CloudFront 中不可用。
Cloudflare 支援
此模組會檢查 CF-Device-Type
標頭。
請閱讀 Cloudflare 文件,瞭解更多關於裝置類型偵測資訊。