跳到主要內容

userAgent

userAgent 輔助程式擴展了 Web Request API,並提供額外的屬性和方法,以便與請求中的 user agent 物件互動。

middleware.ts
import { NextRequest, NextResponse, userAgent } from 'next/server'
 
export function middleware(request: NextRequest) {
  const url = request.nextUrl
  const { device } = userAgent(request)
  const viewport = device.type === 'mobile' ? 'mobile' : 'desktop'
  url.searchParams.set('viewport', viewport)
  return NextResponse.rewrite(url)
}

isBot

布林值,指出請求是否來自已知的機器人。

browser

包含請求中所使用瀏覽器資訊的物件。

  • name:字串,表示瀏覽器的名稱;如果無法識別,則為 undefined
  • version:字串,表示瀏覽器的版本;如果無法識別,則為 undefined

device

包含請求中所使用裝置資訊的物件。

  • model:字串,表示裝置的型號;如果無法識別,則為 undefined
  • type:字串,表示裝置的類型,例如 consolemobiletabletsmarttvwearableembeddedundefined
  • vendor:字串,表示裝置的供應商;如果無法識別,則為 undefined

engine

包含瀏覽器引擎相關資訊的物件。

  • name:字串,表示引擎的名稱。可能的值包括:AmayaBlinkEdgeHTMLFlowGeckoGoannaiCabKHTMLLinksLynxNetFrontNetSurfPrestoTasmanTridentw3mWebKitundefined
  • version:字串,表示引擎的版本;如果無法識別,則為 undefined

os

包含作業系統相關資訊的物件。

  • name:字串,表示作業系統的名稱;如果無法識別,則為 undefined
  • version:字串,表示作業系統的版本;如果無法識別,則為 undefined

cpu

包含 CPU 架構相關資訊的物件。

  • architecture:字串,表示 CPU 的架構。可能的值包括:68kamd64armarm64armhfavria32ia64irixirix64mipsmips64pa-riscppcsparcsparc64undefined