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