跳至內容
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 engine

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

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

os cpu

包含 CPU 架構資訊的物件。

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