เมื่อส่งคำขอ คุณสามารถกำหนดส่วนหัว 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
ปลั๊กอินคำขอช่วงช่วยให้คำขอที่มี "ช่วง" ทำได้ง่ายขึ้น ส่วนหัวถึง จะได้รับการตอบสนองโดยการตอบกลับที่แคชไว้
โดยจะดำเนินการนี้โดยการขัดจังหวะการเรียกกลับของcachedResponseWillBeUsed
ปลั๊กอิน และแสดงผลชุดย่อยที่เหมาะสมของเนื้อหาคำตอบที่แคชไว้
พร็อพเพอร์ตี้
-
เครื่องมือสร้าง
โมฆะ
ฟังก์ชัน
constructor
มีลักษณะดังนี้() => {...}
-
returns
-
เมธอด
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: