django使用圖片延時(shí)加載引起后臺(tái)404錯(cuò)誤
環(huán)境 django 1.10.6
緣起
今天接到一個(gè)任務(wù)——解決終端滿屏日志中的無(wú)用錯(cuò)誤。 django 會(huì)盡可能給你準(zhǔn)確報(bào)出錯(cuò)誤位置,但是一些復(fù)雜,深層次的錯(cuò)誤它自帶的錯(cuò)誤日志有些不足了,日志多但是卻無(wú)效。
過(guò)程
對(duì)于后臺(tái)日志太多而無(wú)用,我則直接轉(zhuǎn)到瀏覽器查看控制臺(tái)訪問(wèn)情況,得到如下提示
直接去后臺(tái)匹配這個(gè)錯(cuò)誤:undefined。根據(jù)這個(gè)錯(cuò)誤完全定位不到具體哪兒出了問(wèn)題。我調(diào)試跟蹤發(fā)現(xiàn)進(jìn)入到一個(gè)特定的頁(yè)面會(huì)一定出現(xiàn)這個(gè)問(wèn)題,而如果換一個(gè)頁(yè)面則不出現(xiàn)錯(cuò)誤。 得此,我進(jìn)而對(duì)這個(gè)頁(yè)面進(jìn)行跟蹤,我嘗試替換頁(yè)面的做法,最終定位到一段 html 代碼就會(huì)引起該錯(cuò)誤:
<img src="/static/msite/image/qrcode_for_gh.jpg">
我很詫異一個(gè)img標(biāo)簽會(huì)引起后端訪問(wèn)一個(gè)錯(cuò)誤的地址,但是卻完全不知道原因。 我嘗試替換這個(gè)img的src,結(jié)果依然還是相同錯(cuò)誤。
在用firebug調(diào)試下發(fā)現(xiàn)問(wèn)題,上圖:
根據(jù)調(diào)用堆棧的提示,去追尋相關(guān)js如下圖
最終才知道這個(gè)圖片地址被惰性加載了,然后在惰性加載后,img的src變成 undefined引發(fā)后端訪問(wèn)一個(gè)不存在的地址。
解決
在使用前,處理一下 src 值
function imageLoaded(obj, src) { var img = new Image(); if(src===undefined){ src=''; } img.onload = function() { obj.src = src; }; img.src = src; }
相關(guān)文章
Python趣味挑戰(zhàn)之用pygame實(shí)現(xiàn)簡(jiǎn)單的金幣旋轉(zhuǎn)效果
今天教大家怎么用pygame實(shí)現(xiàn)簡(jiǎn)單的金幣旋轉(zhuǎn)效果,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下2021-05-05基于python的多進(jìn)程共享變量正確打開(kāi)方式
下面小編就為大家分享一篇基于python的多進(jìn)程共享變量正確打開(kāi)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04對(duì)Python中DataFrame選擇某列值為XX的行實(shí)例詳解
今天小編就為大家分享一篇對(duì)Python中DataFrame選擇某列值為XX的行實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01python Django編寫(xiě)接口并用Jmeter測(cè)試的方法
這篇文章主要介紹了python Django編寫(xiě)接口并用Jmeter測(cè)試,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python爬蟲(chóng)爬取圖片的簡(jiǎn)單代碼
在本篇文章里小編給大家整理的是一篇關(guān)于python爬蟲(chóng)爬取圖片的簡(jiǎn)單代碼內(nèi)容,有興趣的朋友們可以測(cè)試下。2021-01-01如何用python多次調(diào)用exe文件運(yùn)行不同的結(jié)果
有個(gè)C++項(xiàng)目是讀取配置參數(shù)文件并打印對(duì)應(yīng)的結(jié)果,后來(lái)需要多次修改配置文件并運(yùn)行,于是想到寫(xiě)個(gè)python腳本執(zhí)行這一過(guò)程,今天通過(guò)本文給大家分享python多次調(diào)用exe文件運(yùn)行不同的結(jié)果,感興趣的朋友一起看看吧2023-05-05使用虛擬環(huán)境打包python為exe 文件的方法
這篇文章主要介紹了關(guān)于使用虛擬環(huán)境打包python為exe 文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08使用Python進(jìn)行情感分析并可視化展示結(jié)果
情感分析是一種通過(guò)自然語(yǔ)言處理技術(shù)來(lái)識(shí)別、提取和量化文本中的情感傾向的方法,Python在這一領(lǐng)域有著豐富的庫(kù)和工具,本文將介紹如何使用Python進(jìn)行情感分析,并通過(guò)可視化展示結(jié)果,需要的朋友可以參考下2024-05-05Python人工智能之路 之PyAudio 實(shí)現(xiàn)錄音 自動(dòng)化交互實(shí)現(xiàn)問(wèn)答
關(guān)于音頻, PyAudio 這個(gè)庫(kù), 可以實(shí)現(xiàn)開(kāi)啟麥克風(fēng)錄音, 可以播放音頻文件等等。文章介紹了如何使用Python第三方庫(kù)PyAudio進(jìn)行麥克風(fēng)錄音然后自動(dòng)播放已經(jīng)合成的語(yǔ)音實(shí)現(xiàn)語(yǔ)音交互回答,需要的朋友可以參考下2019-08-08