طلبات نطاق إطار العمل

عند تقديم طلب، يمكن ضبط عنوان range يطلب من الخادم عرض جزء فقط من الطلب الكامل. ويفيد ذلك في ملفات معيّنة مثل ملف الفيديو، حيث يمكن للمستخدم تغيير موضع تشغيل الفيديو.

ما وظيفة هذه الوحدة؟

قد تكون هناك سيناريوهات تريد فيها عرض ملف مخزَّن مؤقتًا، لكن المتصفّح قد ضبَط عنوان range. وعادةً ما يتم تجاهل العنوان.

ستقرأ هذه الوحدة الاستجابة المخزنة مؤقتًا وتعرض نطاق البيانات المحدد.

الاستخدام الأساسي

يمكنك استخدام "طلبات نطاق Workbox" عن طريق إضافة المكوّن الإضافي إلى الاستراتيجية التي تريد التحقق من طلبات النطاق وفقًا لها.

import {registerRoute} from 'workbox-routing';
import {CacheFirst} from 'workbox-strategies';
import {RangeRequestsPlugin} from 'workbox-range-requests';

registerRoute(
  ({url}) => url.pathname.endsWith('.mp4'),
  new CacheFirst({
    plugins: [
      new RangeRequestsPlugin(),
    ],
  });
);
.

الاستخدام المتقدّم

إذا كنت تريد الاستفادة من هذا المنطق خارج المكون الإضافي، يمكنك استخدام الدالة createPartialResponse().

import {createPartialResponse} from 'workbox-range-requests';

createPartialResponse(request, cachedResponse);

للمزيد من المعلومات، يمكنك الاطّلاع على المستندات المرجعية.

الأنواع

RangeRequestsPlugin

يسهّل المكوِّن الإضافي لطلب النطاق تنفيذ الطلب الذي يحتوي على عنوان "النطاق" (Range) من خلال استجابة مخزَّنة مؤقتًا.

ويتم ذلك عن طريق اعتراض معاودة اتصال المكوّن الإضافي cachedResponseWillBeUsed وعرض المجموعة الفرعية المناسبة لنص الاستجابة المخزّنة مؤقتًا.

أماكن إقامة

  • الدالة الإنشائية

    void

    تبدو الدالة constructor على النحو التالي:

    () => {...}

الطُرق

createPartialResponse()

workbox-range-requests.createPartialResponse(
  request: Request,
  originalResponse: Response,
)

إذا تم إدخال عنصرَي Request وResponse كإدخال، سيقدّم هذا وعدًا بشأن Response جديد.

إذا كانت السمة Response الأصلية تتضمّن محتوى جزئية (أي حالتها 206)، يعني ذلك أنّها تستوفي متطلبات Range:، وسيتم إرجاعها على حالتها.

المَعلمات

  • طلب

    الطلب

    طلب، والذي يجب أن يحتوي على عنوان النطاق:

  • originalResponse

    الإجابة

    رد.

المرتجعات

  • وعد<الرد>

    تكون استجابة 206 Partial Content مع ضبط نص الاستجابة على شريحة المحتوى المحدّدة في عنوان Range: للطلب، أو استجابة 416 Range Not Satisfiable في حال تعذّر استيفاء شروط عنوان Range:.