userAgent
userAgent
ヘルパーは、Web Request 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
: エンジン名を表す文字列。取り得る値は、`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
お役に立ちましたか?