userAgent
userAgent
ヘルパーは、Web Request API を追加のプロパティと Method で拡張し、ユーザーエージェントの object と request からやり取りを行います。
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)
}
middleware.js
import { NextResponse, userAgent } from 'next/server'
export function middleware(request) {
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
既知のボットからの request であるかどうかを示す boolean。
browser
request で使われたブラウザに関する情報を含む object。
name
:ブラウザの名前を表す string、または識別できない場合はundefined
。version
: ブラウザの version を示す string 、またはundefined
。
device
request で使用されるデバイスに関する情報を含む object。
model
:デバイスのモデルを表す string、またはundefined
。type
: デバイスの type を表す string で、console
、mobile
、tablet
、smarttv
、wearable
、embedded
、またはundefined
など。vendor
: デバイスのベンダーを表す string、またはundefined
。
engine
ブラウザのエンジンに関する情報を含む object。
name
:エンジンの名前を表す string。可能な値には、Amaya
、Blink
、EdgeHTML
、Flow
、Gecko
、Goanna
、iCab
、KHTML
、Links
、Lynx
、NetFront
、NetSurf
、Presto
、Tasman
、Trident
、w3m
、WebKit
、またはundefined
が含まれます。version
:エンジンの version を表す string 、またはundefined
。
os
オペレーティングシステムに関する情報を含む object。
name
: OS の名前を表す string、またはundefined
。version
: OS の version を表す string 、またはundefined
です。
cpu
CPU アーキテクチャに関する情報を含む object。
architecture
: CPU のアーキテクチャを表す string。可能な値には、68k
、amd64
、arm
、arm64
、armhf
、avr
、ia32
、ia64
、irix
、irix64
、mips
、mips64
、pa-risc
、ppc
、sparc
、sparc64
またはundefined
が含まれます。