摘要:同步這種需求主要用于當(dāng)瀏覽器關(guān)閉,或者刷新時,向后端發(fā)起請求。使用參數(shù)使請求同步默認(rèn)是異步的。如果請求是異步的,頁面只是繼續(xù)卸載。它足夠快,以至于該請求甚至沒有時間觸發(fā)。服務(wù)端很可能收不到請求。其中和不支持該技術(shù)。
1 同步Ajax
這種需求主要用于當(dāng)瀏覽器關(guān)閉,或者刷新時,向后端發(fā)起Ajax請求。
window.onunload = function(){ $.ajax({url:"http://localhost:8888/test.php?", async:false}); };
使用async:false參數(shù)使請求同步(默認(rèn)是異步的)。
同步請求鎖定瀏覽器,直到完成。 如果請求是異步的,頁面只是繼續(xù)卸載。 它足夠快,以至于該請求甚至沒有時間觸發(fā)。服務(wù)端很可能收不到請求。
2 navigator.sendBeacon優(yōu)點(diǎn):簡潔、異步、非阻塞
缺點(diǎn):這是實(shí)驗(yàn)性的技術(shù),并非所有瀏覽器都支持。其中IE和safari不支持該技術(shù)。
示例:
window.addEventListener("unload", logData, false); function logData() { navigator.sendBeacon("/log", analyticsData); }
參考:http://stackoverflow.com/ques...
參考:https://developer.mozilla.org...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81049.html
摘要:坑無視和是十分特殊的事件,要求事件處理函數(shù)內(nèi)部不能阻塞當(dāng)前線程,而卻恰恰就會阻塞當(dāng)前線程,因此規(guī)范中以明確在和中直接無視這幾個方法的調(diào)用。 前言 ?最近實(shí)施的同事報障,說用戶審批流程后直接關(guān)閉瀏覽器,操作十余次后系統(tǒng)就報用戶會話數(shù)超過上限,咨詢4A同事后得知登陸后需要顯式調(diào)用登出API才能清理4A端,否則必然會超出會話上限。?即使在頁面上增添一個登出按鈕也無法保證用戶不會直接關(guān)掉瀏覽器...
摘要:回過頭來發(fā)現(xiàn),我們的項(xiàng)目,雖然在服務(wù)端層面做好了日志和性能統(tǒng)計(jì),但在前端對異常的監(jiān)控和性能的統(tǒng)計(jì)。對于前端的性能與異常上報的可行性探索是有必要的。這是我們頁面加載性能優(yōu)化需求中主要上報的相關(guān)信息。 概述 對于后臺開發(fā)來說,記錄日志是一種非常常見的開發(fā)習(xí)慣,通常我們會使用try...catch代碼塊來主動捕獲錯誤、對于每次接口調(diào)用,也會記錄下每次接口調(diào)用的時間消耗,以便我們監(jiān)控服務(wù)器接口...
摘要:這種情況通常發(fā)生在反向代理的時候,前端發(fā)起請求代理服務(wù)器,代理服務(wù)器發(fā)起請求到,這時候就容易導(dǎo)致域名不一致,請一定要注意這點(diǎn)。 寫在最前 前后端分離其實(shí)有兩類: 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件整個放入后端項(xiàng)目中。 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件放入單獨(dú)的靜態(tài)資源服務(wù)器中,如nginx。 這兩種方案最大的區(qū)別就是生產(chǎn)階段。由于第...
摘要:這種情況通常發(fā)生在反向代理的時候,前端發(fā)起請求代理服務(wù)器,代理服務(wù)器發(fā)起請求到,這時候就容易導(dǎo)致域名不一致,請一定要注意這點(diǎn)。 寫在最前 前后端分離其實(shí)有兩類: 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件整個放入后端項(xiàng)目中。 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件放入單獨(dú)的靜態(tài)資源服務(wù)器中,如nginx。 這兩種方案最大的區(qū)別就是生產(chǎn)階段。由于第...
摘要:這種情況通常發(fā)生在反向代理的時候,前端發(fā)起請求代理服務(wù)器,代理服務(wù)器發(fā)起請求到,這時候就容易導(dǎo)致域名不一致,請一定要注意這點(diǎn)。 寫在最前 前后端分離其實(shí)有兩類: 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件整個放入后端項(xiàng)目中。 開發(fā)階段使用dev-server,生產(chǎn)階段是打包成靜態(tài)文件放入單獨(dú)的靜態(tài)資源服務(wù)器中,如nginx。 這兩種方案最大的區(qū)別就是生產(chǎn)階段。由于第...
閱讀 3161·2023-04-25 19:09
閱讀 3875·2021-10-22 09:54
閱讀 1743·2021-09-29 09:35
閱讀 2904·2021-09-08 09:45
閱讀 2231·2021-09-06 15:00
閱讀 2766·2019-08-29 15:32
閱讀 1029·2019-08-28 18:30
閱讀 370·2019-08-26 13:43