日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

什么是 Web API 中的 background fetch API

發(fā)布時(shí)間:2023/12/19 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是 Web API 中的 background fetch API 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在為 Web 編寫代碼時(shí),有大量可用的 Web API。這個(gè)網(wǎng)站列出了您在開發(fā) Web 應(yīng)用程序或站點(diǎn)時(shí)可以使用的所有 API 和接口(對(duì)象類型)。

Web API 通常與 JavaScript 一起使用,盡管情況并非總是如此。

這是按照字母排序的。

Background Fetch API

這個(gè) API 提供了可能需要花費(fèi)很長(zhǎng)時(shí)間下載的資源下載方法,比如 movies, audio 文件和軟件。

當(dāng) Web 應(yīng)用程序要求用戶下載大文件時(shí),這通常會(huì)帶來一個(gè)問題,即用戶需要保持與頁(yè)面的連接才能完成下載。如果他們失去連接,請(qǐng)關(guān)閉選項(xiàng)卡或離開下載停止的頁(yè)面。

以前曾經(jīng)有一個(gè)后臺(tái)同步下載 API,能夠延遲 service worker 的處理,直到用戶重新處于連接狀態(tài)。但是它不能用于長(zhǎng)時(shí)間運(yùn)行的任務(wù),例如下載大文件。后臺(tái)同步要求 Service Worker 保持活動(dòng)狀態(tài)直到獲取完成,并且為了節(jié)省電池壽命并防止在后臺(tái)發(fā)生不需要的任務(wù),瀏覽器將在某個(gè)時(shí)候終止任務(wù)。

而本文描述的 background fetch API 則不存在這個(gè)問題。它為 Web 開發(fā)人員創(chuàng)建了一種方法來告訴瀏覽器在后臺(tái)執(zhí)行一些 fetch 操作以進(jìn)行文件下載,例如當(dāng)用戶單擊按鈕下載視頻文件時(shí)。然后瀏覽器以用戶可見的方式執(zhí)行提取,向用戶顯示進(jìn)度并為他們提供取消下載的方法。下載完成后,瀏覽器會(huì)打開 Service Worker,此時(shí)您的應(yīng)用程序可以根據(jù)需要對(duì)響應(yīng)執(zhí)行某些操作。

如果用戶在離線狀態(tài)下啟動(dòng)進(jìn)程,后臺(tái)提取 API 將啟用提取。一旦它們連接起來,它就會(huì)開始。如果用戶離線,該過程將暫停,直到用戶再次上線。

看個(gè)具體的例子。

首先檢查瀏覽器是否支持 background fetch API:

if (!('BackgroundFetchManager' in self)) {// Provide fallback downloading. }

下面的例子使用 fetch API 一次性下載多個(gè)文件:

navigator.serviceWorker.ready.then(async (swReg) => {const bgFetch = await swReg.backgroundFetch.fetch('my-fetch', ['/ep-5.mp3', 'ep-5-artwork.jpg'], {title: 'Episode 5: Interesting things.',icons: [{sizes: '300x300',src: '/ep-5-icon.png',type: 'image/png',}],downloadTotal: 60 * 1024 * 1024,}); });

總結(jié)

以上是生活随笔為你收集整理的什么是 Web API 中的 background fetch API的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。