簡體   English   中英

從DOM中刪除尚未完全加載的圖像:傳輸中止了嗎?

[英]Removing from the DOM an image not yet fully loaded: is transmission aborted?

將圖像(未緩存)添加到DOM; 例如(使用jQuery):

$('#hereItGoes').append('<img id="theImage" src="image.jpg" />');

瀏覽器開始下載資源,需要一些時間......

在圖像完全加載之前,某種事件會觸發刪除圖像的回調。

$('#theImage').remove();

圖像資源傳輸是否中止?

更具體地說, 這是否會阻止服務器發送(圖像)數據?


為這個問題提供一些“背景”:

長滾動頁面通常設計為延遲加載圖像:僅當圖像進入視口時才加載; 當它們中的每一個都准備就緒時,它就會淡入並顯示給用戶。

現在如果用戶快速向下滾動頁面怎么辦?

可能會出現許多圖像進入視口(並開始下載)但在准備好之前退出的情況。

保持加載會浪費帶寬(和服務器資源)。

不,這是不可能的。 這是因為一旦您請求資源,客戶端代碼就會異步請求它,這樣它就不會阻止其他DOM加載。

在更復雜的服務器端請求中,可以發送另一個客戶端消息以阻止服務器不斷處理響應的數據,但是如果這是發回圖像,則嘗試停止它是沒有意義的。

這不會損害客戶端DOM性能,因為您只是忽略了服務器響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM