修改js文件,引發的404問題


記錄一個bug,本地測不出來,客戶后台卻404,web測試可參考。(不知道是不是通用的)

 

先介紹下背景

我們是web產品,存在發布機、管理機、js文件,頁面會引用到這些js文件。出於安全考慮,規定js文件名稱和文件里面都不得帶有版本號。

 

現在描述bug的來龍去脈

比如某個js文件叫juery.2.1.1,有10個頁面引用了它。這時把它的名稱改掉,叫SuperSlide。按說那10個頁面里面的名稱也要相對應改掉,但是只改了7個頁面,3個漏

改了。所以講道理,這3個漏改的頁面,前台訪問的話會報js404錯誤。但是不然,本地測試環境的前台一切正常。

而把網站包導到客戶環境,再去訪問,就找不到js文件了,猝。

原因是啥呢?因為js文件是靜態資源,發布的時候,是“增量式發布”。即,修改js文件名稱和頁面里的名稱之前,發布過一次,這時發布機上存的是juery2.1.1文件---頁面

里面juery2.1.1的映射關系。修改過以后,對於那3個漏掉的頁面來說,再次發布,發布機里存的是Superslide文件---頁面里面juery2.1.1的映射關系。這時在前台訪問的話

會把所有的映射關系都遍歷一邊,即便在第二次的發布里找不到映射關系,在第一次的也能。總之,能找到引用的js文件,前台就不會報錯。

而客戶環境呢?是把本地修改后的網站包導到客戶環境的,那么對客戶環境進行發布之后,發布機存儲的只有Superslide文件---頁面里面juery2.1.1的映射關系,當然在

前台就報錯了!

 

如何測試呢?

1.測試人員把本地發布機的js文件全部刪除

2.本地訪問,檢查前台js報錯情況

 

以上,web測試的朋友可以參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM