Menu

userAgent

userAgentヘルパーはWeb Request APIを拡張し、リクエストからのユーザーエージェントオブジェクトとやり取りするための追加のプロパティとメソッドを提供します。

proxy.ts
TypeScript
import { NextRequest, NextResponse, userAgent } from 'next/server'
 
export function proxy(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)
}

isBot

リクエストが既知のボットからのものであるかを示すブール値。

browser

リクエストで使用されたブラウザに関する情報を含むオブジェクト。

  • name:ブラウザ名を表す文字列、または識別できない場合はundefined。
  • version:ブラウザのバージョンを表す文字列、またはundefined。

device

リクエストで使用されたデバイスに関する情報を含むオブジェクト。

  • model:デバイスのモデルを表す文字列、またはundefined。
  • type:console、mobile、tablet、smarttv、wearable、embedded、またはundefinedなど、デバイスのタイプを表す文字列。
  • vendor:デバイスのベンダーを表す文字列、またはundefined。

engine

ブラウザのエンジンに関する情報を含むオブジェクト。

  • name:エンジンの名前を表す文字列。可能な値にはAmaya、Blink、EdgeHTML、Flow、Gecko、Goanna、iCab、KHTML、Links、Lynx、NetFront、NetSurf、Presto、Tasman、Trident、w3m、WebKitまたはundefinedが含まれます。
  • version:エンジンのバージョンを表す文字列、またはundefined。

os

オペレーティングシステムに関する情報を含むオブジェクト。

  • name:OSの名前を表す文字列、またはundefined。
  • version:OSのバージョンを表す文字列、またはundefined。

cpu

CPU アーキテクチャに関する情報を含むオブジェクト。

  • architecture:CPU のアーキテクチャを表す文字列。可能な値には68k、amd64、arm、arm64、armhf、avr、ia32、ia64、irix、irix64、mips、mips64、pa-risc、ppc、sparc、sparc64またはundefinedが含まれます。