Skip to content

NextJS中文文档 - UserAgent

userAgent 辅助函数扩展了 Web 请求 API,提供了额外的属性和方法来与请求中的用户代理对象进行交互。

ts
import { NextRequest, NextResponse, userAgent } from 'next/server'

export function middleware(request: NextRequest) {
  const url = request.nextUrl
  const { device } = userAgent(request)

  // device.type 可以是:'mobile'、'tablet'、'console'、'smarttv'、
  // 'wearable'、'embedded' 或 undefined(适用于桌面浏览器)
  const viewport = device.type || 'desktop'

  url.searchParams.set('viewport', viewport)
  return NextResponse.rewrite(url)
}
js
import { NextResponse, userAgent } from 'next/server'

export function middleware(request) {
  const url = request.nextUrl
  const { device } = userAgent(request)

  // device.type 可以是:'mobile'、'tablet'、'console'、'smarttv'、
  // 'wearable'、'embedded' 或 undefined(适用于桌面浏览器)
  const viewport = device.type || '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

🎉有任何问题,欢迎联系我

WeChat QR Code
WeChat
QQ QR Code
QQ

赣ICP备2023003243号