降低背景擷取的優先順序

網頁功能: 擷取優先順序 擷取

當網頁同時發出多個網路要求時,這些要求通常會爭用相同的頻寬。分析、記錄或背景同步等非重要資料應降低優先順序,以便更快完成使用者啟動或重要資料擷取。

導入方式

  1. 找出背景要求:判斷哪些 fetch() 呼叫是針對非必要資料,不會影響即時使用者體驗。
  2. 套用擷取優先順序:將 priority: 'low' 選項新增至 fetch() 初始化物件。

範例程式碼

// Use high priority (default) for critical UI updates
const criticalData = await fetch('/api/data');

// Explicitly deprioritize background analytics
fetch('/api/analytics', {
  method: 'POST',
  body: JSON.stringify(eventData),
  // Lower the priority to prevent network contention
  priority: 'low'
});

最佳做法

  • 建議使用 priority: 'low' 處理目前檢視畫面不需要的數據分析、信標或遙測資料。
  • 建議使用 priority: 'low'「預先擷取」使用者可能需要的資料,確保不會拖慢使用者目前需要的資料。
  • 請勿將 priority: 'low' 用於對使用者體驗至關重要的擷取作業。
  • 請勿在擷取選項物件中使用已淘汰的 importance 鍵。正確的金鑰為 priority。

備用策略

Fetch API 中的 priority 選項是漸進增強功能。不支援這項功能的瀏覽器會忽略該選項,並以預設優先順序處理要求。基本用途不需要明確的功能偵測或備用邏輯。