欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django使用圖片延時加載引起后臺404錯誤

 更新時間:2017年04月18日 08:40:57   作者:mugbya  
本文給大家介紹的是作者在Django中使用圖片的延時加載技術(shù)后引起后臺404錯誤的問題以及解決思路和方法,有需要的小伙伴可以參考下

環(huán)境 django 1.10.6

緣起

今天接到一個任務(wù)——解決終端滿屏日志中的無用錯誤。 django 會盡可能給你準(zhǔn)確報出錯誤位置,但是一些復(fù)雜,深層次的錯誤它自帶的錯誤日志有些不足了,日志多但是卻無效。

過程

對于后臺日志太多而無用,我則直接轉(zhuǎn)到瀏覽器查看控制臺訪問情況,得到如下提示

直接去后臺匹配這個錯誤:undefined。根據(jù)這個錯誤完全定位不到具體哪兒出了問題。我調(diào)試跟蹤發(fā)現(xiàn)進入到一個特定的頁面會一定出現(xiàn)這個問題,而如果換一個頁面則不出現(xiàn)錯誤。 得此,我進而對這個頁面進行跟蹤,我嘗試替換頁面的做法,最終定位到一段 html 代碼就會引起該錯誤:

<img src="/static/msite/image/qrcode_for_gh.jpg">

我很詫異一個img標(biāo)簽會引起后端訪問一個錯誤的地址,但是卻完全不知道原因。 我嘗試替換這個img的src,結(jié)果依然還是相同錯誤。

在用firebug調(diào)試下發(fā)現(xiàn)問題,上圖:

根據(jù)調(diào)用堆棧的提示,去追尋相關(guān)js如下圖

最終才知道這個圖片地址被惰性加載了,然后在惰性加載后,img的src變成 undefined引發(fā)后端訪問一個不存在的地址。

解決

在使用前,處理一下 src 值

function imageLoaded(obj, src) {
 var img = new Image();
 if(src===undefined){
  src='';
 }
 img.onload = function() {
  obj.src = src;
 };
 img.src = src;
}

相關(guān)文章

最新評論