2 回答

TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個(gè)贊
blur事件只是一個(gè)脆弱的解決方法,可能無法在瀏覽器中運(yùn)行。
該blur
事件意味著某件事正在失去焦點(diǎn)。可能是Firefox瀏覽器(及其他)確實(shí)確實(shí)模糊了您單擊的鏈接,但其他任何東西也可能模糊了該鏈接(更改選項(xiàng)卡,單擊加載屏幕等)。這可能是您不想要的。
而且由于HTTP是一種無狀態(tài)協(xié)議,因此在沒有服務(wù)器幫助的情況下,我們無法知道客戶端何時(shí)完成此操作。而且您不能依靠JS來檢測到此錯(cuò)誤,因?yàn)槲募螺d是在“其他選項(xiàng)卡”中進(jìn)行的,而您無法訪問該文件。
我可以想象的唯一解決方案(看起來也是如此):當(dāng)下載開始時(shí),啟動(dòng)一個(gè)JS間隔,該間隔定期(例如每500毫秒左右)檢查服務(wù)器的下載狀態(tài)。在服務(wù)器端,您必須在啟動(dòng)時(shí)向用戶標(biāo)識(shí)下載,并在詢問時(shí)將狀態(tài)返回給客戶端。當(dāng)然,這如何工作取決于您使用的服務(wù)器環(huán)境和編程語言。我知道,您可以使其在PHP中運(yùn)行,但我不了解所有其他語言。
順便說一句:我將“加載屏幕”稱為“加載指示器”,因?yàn)榧虞d屏幕(或啟動(dòng)屏幕)是在軟件加載之前(至少在我的計(jì)算機(jī)/大腦上)顯示一次的圖片。

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果您擁有Google帳戶,則只需按Ctrl + J或轉(zhuǎn)到chrome:// downloads /
添加回答
舉報(bào)