وكيل المستخدم (userAgent)
أداة userAgent
تمد واجهة برمجة تطبيقات الويب (Web Request API) بخصائص وطرق إضافية للتفاعل مع كائن وكيل المستخدم من الطلب.
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)
}
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
قيمة منطقية تشير إلى ما إذا كان الطلب قادمًا من بوت معروف.
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
: سلسلة نصية تمثل اسم نظام التشغيل، أوundefined
.version
: سلسلة نصية تمثل إصدار نظام التشغيل، أوundefined
.
cpu
كائن يحتوي على معلومات عن بنية المعالج.
architecture
: سلسلة نصية تمثل بنية المعالج. القيم المحتملة تشمل:68k
،amd64
،arm
،arm64
،armhf
،avr
،ia32
،ia64
،irix
،irix64
،mips
،mips64
،pa-risc
،ppc
،sparc
،sparc64
أوundefined
.