userAgent
userAgent
ヘルパーは、WebリクエストAPIを拡張し、リクエストからのユーザーエージェントオブジェクトと相互作用するための追加のプロパティとメソッドを提供します。
- TypeScript
- JavaScript
middleware.ts
import { NextRequest, NextResponse, userAgent } from 'next/server'
// ミドルウェア関数を定義
export function middleware(request: NextRequest) {
const url = request.nextUrl
// userAgentからデバイス情報を取得
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
// userAgentからデバイス情報を取得
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