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)
// device.type يمكن أن يكون: 'mobile', 'tablet', 'console', 'smarttv',
// 'wearable', 'embedded', أو غير محدد (لمتصفحات سطح المكتب)
const viewport = device.type || '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)
// device.type يمكن أن يكون: 'mobile', 'tablet', 'console', 'smarttv',
// 'wearable', 'embedded', أو غير محدد (لمتصفحات سطح المكتب)
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
: سلسلة تمثل اسم نظام التشغيل، أوundefined
.version
: سلسلة تمثل إصدار نظام التشغيل، أوundefined
.
cpu
كائن يحتوي على معلومات حول بنية المعالج.
architecture
: سلسلة تمثل بنية المعالج. القيم الممكنة تشمل:68k
,amd64
,arm
,arm64
,armhf
,avr
,ia32
,ia64
,irix
,irix64
,mips
,mips64
,pa-risc
,ppc
,sparc
,sparc64
أوundefined