跳至內容
API 參考函式使用者代理 (userAgent)

使用者代理 (userAgent)

userAgent 輔助函式擴展了 Web 請求 API,提供額外的屬性和方法來與請求中的使用者代理物件進行互動。

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:一個表示裝置類型的字串,例如 console(遊戲主機)、mobile(手機)、tablet(平板電腦)、smarttv(智慧電視)、wearable(穿戴式裝置)、embedded(嵌入式裝置),或 undefined
  • vendor:一個表示裝置廠商的字串,或 undefined

engine

一個包含瀏覽器引擎資訊的物件。

  • name:一個表示引擎名稱的字串。可能的值包括:AmayaBlinkEdgeHTMLFlowGeckoGoannaiCabKHTMLLinksLynxNetFrontNetSurfPrestoTasmanTridentw3mWebKitundefined
  • version:一個表示引擎版本的字串,或 undefined

os cpu

一個包含 CPU 架構資訊的物件。

  • architecture:一個表示 CPU 架構的字串。可能的值包括:68kamd64armarm64armhfavria32ia64irixirix64mipsmips64pa-riscppcsparcsparc64undefined(未定義)。