日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

終于等到你!JS全新API支持關閉頁面時安全發(fā)送網(wǎng)絡請求

來源: 責編: 時間:2024-03-29 09:24:06 247觀看
導讀在日常的開發(fā)中,經(jīng)常需要在用戶關閉頁面或導航至其他頁面時,向服務器發(fā)送重要的數(shù)據(jù)請求。然而,確保這些數(shù)據(jù)請求能夠安全、完整地發(fā)送到后端一直是一個挑戰(zhàn)。近日,Chrome 瀏覽器正在積極引入一個革命性的 JavaScript API

在日常的開發(fā)中,經(jīng)常需要在用戶關閉頁面或導航至其他頁面時,向服務器發(fā)送重要的數(shù)據(jù)請求。然而,確保這些數(shù)據(jù)請求能夠安全、完整地發(fā)送到后端一直是一個挑戰(zhàn)。近日,Chrome 瀏覽器正在積極引入一個革命性的 JavaScript API——fetchLater()。這個全新的 API 旨在徹底簡化關閉頁面時的數(shù)據(jù)發(fā)送過程,確保即使在頁面關閉后或用戶離開的情況下,請求也能在未來某個時刻被安全、可靠地發(fā)出。本文就來詳細了解這個超實用的全新 API。mP028資訊網(wǎng)——每日最新資訊28at.com

注:fetchLater() 已在 Chrome 中提供,用于在版本 121(2024 年 1 月發(fā)布)開始的原始試驗中供真實用戶測試,該試驗將持續(xù)到 Chrome 126(2024 年 7 月)。mP028資訊網(wǎng)——每日最新資訊28at.com

以前這樣寫

在傳統(tǒng)的做法中,開發(fā)者常常依賴pagehide、visibilitychange、unload、beforeunload 事件來捕捉頁面卸載的時機,并借助navigator.sendBeacon()方法或使用帶有keepalive選項的fetch()來發(fā)送數(shù)據(jù)。mP028資訊網(wǎng)——每日最新資訊28at.com

當頁面卸載時,pagehide事件和 unload 事件會被觸發(fā)。同時,visibilitychange事件會在頁面的可見性發(fā)生變化時觸發(fā),這也可以用來捕捉頁面卸載的情況。當用戶即將離開當前頁面(例如,嘗試關閉瀏覽器標簽頁或刷新頁面)時,beforeunload 事件被觸發(fā)。mP028資訊網(wǎng)——每日最新資訊28at.com

window.addEventListener('pagehide', (event) => {  sendDataToServer();  });    window.addEventListener('visibilitychange', (event) => {  if (document.visibilityState === 'hidden') {      sendDataToServer();    }  });addEventListener("unload", (event) => {  sendDataToServer();  })addEventListener("beforeunload", (event) => {  sendDataToServer();  })

navigator.sendBeacon()方法用于異步地向服務器發(fā)送數(shù)據(jù),即使頁面正在卸載或不可見,也能保證數(shù)據(jù)被發(fā)送。這對于確保數(shù)據(jù)能夠可靠地到達服務器非常有用。mP028資訊網(wǎng)——每日最新資訊28at.com

function sendDataToServer() {    var url = 'https://example.com/log';    var data = new Blob(['some data'], {type: 'application/json'});        navigator.sendBeacon(url, data);  }

當然,也可以使用fetch()的keepalive選項來確保請求在頁面卸載后繼續(xù)發(fā)送。不過需要注意的是,keepalive選項的支持情況可能因瀏覽器而異。mP028資訊網(wǎng)——每日最新資訊28at.com

function sendDataToServer() {    var url = 'https://example.com/log';    var data = { someKey: 'someValue' };        fetch(url, {      method: 'POST',      body: JSON.stringify(data),      headers: {        'Content-Type': 'application/json'      },      keepalive: true // 嘗試在頁面卸載后繼續(xù)發(fā)送請求    });  }

然而,pagehide、visibilitychange、unload、beforeunload 事件都存在可靠性問題。數(shù)據(jù)顯示,即使多個事件一起使用,大約有 10% 的數(shù)據(jù)沒有被發(fā)送就消失了。mP028資訊網(wǎng)——每日最新資訊28at.com

圖片mP028資訊網(wǎng)——每日最新資訊28at.com

妙用 fetchLater()

fetchLater() 的功能正如其名:它要求瀏覽器在未來某個時刻確保發(fā)送請求,即使頁面已經(jīng)關閉或用戶導航到其他頁面。mP028資訊網(wǎng)——每日最新資訊28at.com

fetchLater() 的語法如下:mP028資訊網(wǎng)——每日最新資訊28at.com

const fetchLaterResult = fetchLater(request, options);

fetchLater() 接受兩個參數(shù),與 fetch() 的參數(shù)相同:mP028資訊網(wǎng)——每日最新資訊28at.com

  • request:可以是一個字符串形式的 URL,或者是一個 Request 實例。
  • options:可選項,它擴展了 fetch() 中的 options,并增加了一個名為 activateAfter 的超時設置。

fetchLater() 返回一個 FetchLaterResult 對象,它目前只包含一個只讀屬性 activated。當指定的“稍后”時間點到來且請求已經(jīng)發(fā)出時,activated 屬性會被設置為 true。需要注意的是,對于 fetchLater() 發(fā)出的請求,其任何響應都不會被保留。mP028資訊網(wǎng)——每日最新資訊28at.com

request

在使用時,最簡單的形式是直接傳入一個 URL 作為請求:mP028資訊網(wǎng)——每日最新資訊28at.com

fetchLater('/endpoint/');

并且,fetchLater() 繼承了 fetch() 的靈活性,允許用戶為其請求設置多種選項。這些選項包括自定義頭部信息、控制憑據(jù)的處理方式、指定 POST 請求體,以及利用 AbortController 在必要時取消請求。mP028資訊網(wǎng)——每日最新資訊28at.com

fetchLater('/endpoint/', {  method: 'GET',  cache: 'no-store',  mode: 'same-origin',  headers: {Authorization: 'SUPER_SECRET'},});

options

fetchLater() 的options 參數(shù)擴展了 fetch() 的選項,新增了 activateAfter 超時設置,使得請求能夠在設定的超時時間后或頁面卸載時(兩者中較早發(fā)生者)自動觸發(fā)。mP028資訊網(wǎng)——每日最新資訊28at.com

例如,如果有一個應用,用戶通常會在整個工作日中保持開啟狀態(tài)。在這種情況下,您可以設置一個一小時的超時時間,以確保在分析數(shù)據(jù)時擁有更精細的粒度,同時確保即使用戶在這一小時內(nèi)任何時候退出應用,也能夠成功發(fā)送數(shù)據(jù)。隨后,您可以為下一個小時的分析數(shù)據(jù)設置新的 fetchLater() 請求,以確保數(shù)據(jù)的持續(xù)收集和發(fā)送。mP028資訊網(wǎng)——每日最新資訊28at.com

const hourInMilliseconds = 60 * 60 * 1000;fetchLater('/endpoint/', {activateAfter: hourInMilliseconds});

嘗試 fetchLater()

目前,fetchLater() 仍處于實驗狀態(tài),現(xiàn)在可以在 chrome://flags/#enable-experimental-web-platform-features 中啟用 Experimental Web Platform 功能標志來啟用 fetchLater() API。mP028資訊網(wǎng)——每日最新資訊28at.com

圖片圖片mP028資訊網(wǎng)——每日最新資訊28at.com

mP028資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-80346-0.html終于等到你!JS全新API支持關閉頁面時安全發(fā)送網(wǎng)絡請求

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 分享 12 個現(xiàn)代化 CSS 新屬性

下一篇: 深入理解C/C++中,函數(shù)、指針與數(shù)組的組合關系

標簽:
  • 熱門焦點
  • 7月安卓手機性價比榜:努比亞+紅魔兩款新機入榜

    7月登場的新機有努比亞Z50S Pro和紅魔8S Pro,除了三星之外目前唯二的兩款搭載超頻版驍龍8Gen2處理器的產(chǎn)品,而且努比亞和紅魔也一貫有著不錯的性價比,所以在本次的性價比榜單
  • 6月安卓手機性能榜:vivo/iQOO霸占旗艦排行榜前三

    2023年上半年已經(jīng)正式過去了,我們也迎來了安兔兔V10版本,在新的驍龍8Gen3和天璣9300發(fā)布之前,性能榜的榜單大體會以驍龍8Gen2和天璣9200+為主,至于那顆3.36GHz的驍龍8Gen2領先
  • 把LangChain跑起來的三個方法

    使用LangChain開發(fā)LLM應用時,需要機器進行GLM部署,好多同學第一步就被勸退了,那么如何繞過這個步驟先學習LLM模型的應用,對Langchain進行快速上手?本片講解3個把LangChain跑起來
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數(shù)量是否小于或等于一個數(shù)字。例如,一個擁有三個或更多子項的grid。你可能會想,為什么需要這樣做呢?在某些情況下,一個組件或一個布局可能會
  • 微信語音大揭秘:為什么禁止轉發(fā)?

    大家好,我是你們的小米。今天,我要和大家聊一個有趣的話題:為什么微信語音不可以轉發(fā)?這是一個我們經(jīng)常在日常使用中遇到的問題,也是一個讓很多人好奇的問題。讓我們一起來揭開這
  • 微軟邀請 Microsoft 365 商業(yè)用戶,測試視頻編輯器 Clipchamp

    8 月 1 日消息,微軟近日宣布即將面向 Microsoft 365 商業(yè)用戶,開放 Clipchamp 應用,邀請用戶通過該應用來編輯視頻。微軟于 2021 年收購 Clipchamp,隨后開始逐步整合到 Microsof
  • 小紅書1周漲粉49W+,我總結了小白可以用的N條漲粉筆記

    作者:黃河懂運營一條性教育視頻,被54萬人“珍藏”是什么體驗?最近,情感博主@公主是用鮮花做的,火了!僅僅憑借一條視頻,光小紅書就有超過128萬人,為她瘋狂點贊!更瘋狂的是,這
  • 小米汽車電池信息疑似曝光:容量101kWh,支持800V高壓快充

    7月14日消息,今日一名博主在社交媒體發(fā)布了一張疑似小米汽車電池信息的照片,顯示該電池包正是寧德時代麒麟電池,容量為101kWh,電壓為726.7V,可以預測小
  • 電博會與軟博會實現(xiàn)"線下+云端"的雙線融合

    在本次“電博會”與“軟博會”雙展會利好條件的加持下,既可以發(fā)揮展會拉動人流、信息流、資金流實現(xiàn)快速交互流動的作用,繼而推動區(qū)域經(jīng)濟良性發(fā)展;又可以聚
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
最新中文字幕一区二区三区| 韩国精品一区二区三区| 欧美激情第4页| 欧美日韩你懂的| 国产精品极品美女粉嫩高清在线| 国产精品丝袜91| 国自产拍偷拍福利精品免费一| 亚洲国产精品黑人久久久| av不卡在线观看| 欧美一区二区三区视频免费| 另类天堂av| 国产精品高清一区二区三区| 国产九色精品成人porny| 在线精品福利| 亚洲视频电影在线| 久久久久一区二区三区四区| 欧美激情一区二区三区蜜桃视频| 国产精品国产三级国产普通话99| 极品裸体白嫩激情啪啪国产精品| 亚洲精品一二| 欧美一级夜夜爽| 欧美h视频在线| 国产精品人成在线观看免费| 伊人成人在线视频| 亚洲桃花岛网站| 久久一区二区精品| 欧美午夜视频一区二区| 精品69视频一区二区三区| 中国av一区| 欧美xxxx在线观看| 国产日韩欧美自拍| 99国产精品一区| 国产欧美三级| 亚洲日韩欧美视频一区| 亚洲欧美一区二区原创| 欧美成人午夜77777| 国产欧美不卡| 一片黄亚洲嫩模| 久久这里有精品视频| 国产精品免费视频xxxx| 亚洲人体大胆视频| 久久久免费精品| 国产麻豆综合| 亚洲深夜福利| 欧美激情国产高清| 精品1区2区| 欧美在线电影| 国产精品嫩草99a| 99riav国产精品| 欧美成人tv| 在线看片一区| 久久久91精品国产| 国产精品亚洲а∨天堂免在线| 亚洲精品中文在线| 理论片一区二区在线| 国产三级欧美三级日产三级99| 在线视频免费在线观看一区二区| 美女主播视频一区| 激情成人亚洲| 久久国产精品高清| 国产伦精品一区二区三区| 一本色道88久久加勒比精品| 免费在线欧美视频| 一色屋精品亚洲香蕉网站| 久久不射网站| 国产午夜精品久久| 先锋影音久久久| 国产精品嫩草影院一区二区| 妖精成人www高清在线观看| 欧美黄色影院| 亚洲欧洲在线看| 欧美 亚欧 日韩视频在线| 又紧又大又爽精品一区二区| 久久九九久精品国产免费直播 | 国产精品视频第一区| 一区二区久久| 欧美日韩一区成人| 亚洲色图自拍| 国产精品h在线观看| 亚洲视频免费在线观看| 欧美日韩欧美一区二区| 妖精视频成人观看www| 欧美日韩亚洲一区二区三区在线观看 | 欧美精品色网| 99精品欧美一区二区三区| 欧美久久综合| av成人手机在线| 欧美日韩综合在线| 亚洲一区二区三区在线看| 国产精品久久久久久久久久久久| 亚洲一区二区免费| 国产精品综合网站| 欧美一区二区三区免费在线看| 国产麻豆91精品| 久久成人精品无人区| 国内精品免费在线观看| 久久噜噜亚洲综合| 亚洲国产成人在线| 欧美绝品在线观看成人午夜影视| 99精品视频免费| 国产精品九九| 欧美在线一二三四区| 激情综合电影网| 欧美精品激情在线| 亚洲自拍16p| 国产婷婷色一区二区三区四区| 久久久久国色av免费观看性色| 在线精品视频一区二区三四| 欧美理论在线播放| 亚洲免费在线精品一区| 国产婷婷色一区二区三区四区| 久久综合网络一区二区| 99成人在线| 国产日韩精品久久久| 久久亚洲图片| 一区二区欧美亚洲| 国产乱人伦精品一区二区| 久久这里有精品15一区二区三区| 亚洲欧洲综合| 国产精品日韩欧美大师| 久久久视频精品| 91久久午夜| 国产精品一区二区久久久| 久久青草欧美一区二区三区| 亚洲免费av观看| 国产乱码精品一区二区三| 欧美成人午夜视频| 亚洲欧美另类中文字幕| 在线欧美日韩| 国产精品扒开腿做爽爽爽软件 | 久久亚洲欧美| 亚洲小说欧美另类社区| 一色屋精品视频在线看| 欧美看片网站| 久久国产精品久久w女人spa| 亚洲精品中文字| 国产亚洲在线观看| 欧美日韩不卡| 欧美资源在线观看| 日韩视频一区二区三区在线播放| 国产日产精品一区二区三区四区的观看方式| 久久综合电影一区| 欧美精品一区二区视频| 亚洲尤物视频网| 亚洲高清久久| 国产精品一区三区| 欧美极品在线播放| 久久国产精品99精品国产| 亚洲作爱视频| 雨宫琴音一区二区在线| 国产精品乱人伦中文| 欧美77777| 欧美影院在线| 亚洲在线视频| 99精品国产高清一区二区| 一区精品在线播放| 国产精品在线看| 欧美日韩午夜剧场| 欧美大片91| 久久久青草青青国产亚洲免观| 亚洲欧美成人网| 99视频精品全国免费| 亚洲第一区在线观看| 国产麻豆精品theporn| 欧美日韩国产精品一区| 老司机午夜精品视频在线观看| 午夜在线观看免费一区| 日韩午夜av| 亚洲福利视频免费观看| 国产亚洲精品aa午夜观看| 国产精品久久77777| 欧美人成在线| 欧美精品激情在线观看| 欧美~级网站不卡| 久久在线免费观看| 久久久久久久久岛国免费| 新狼窝色av性久久久久久| 中文在线不卡| 99成人在线| 亚洲精品乱码久久久久久黑人| 在线播放豆国产99亚洲| 韩日精品视频| 国产亚洲一区精品| 国产欧美日韩一区| 国产欧美日韩不卡免费| 国产精品日韩精品欧美在线| 国产精品久久久久久av福利软件| 欧美揉bbbbb揉bbbbb| 欧美日韩国产精品一区| 欧美激情精品久久久久久变态| 免费在线亚洲| 欧美~级网站不卡| 欧美高清你懂得| 免费亚洲电影在线| 免费黄网站欧美| 欧美成人tv| 欧美精品一区二区三区高清aⅴ| 欧美国产日韩精品| 欧美成人精品一区| 欧美国产日韩视频| 欧美另类99xxxxx| 欧美精品九九| 欧美深夜福利| 国产精品久久激情|