今天在做前端一個彈窗的功能的時候出現了一個bug。
彈窗用的是colorbox控件,點擊控件第一次彈窗是正常的,之後點擊關閉會報錯,如圖
看到錯誤,第一反應是js文件沒加載?
通過chrome的調試工具查看,js文件正常加載了的。
那會是什麼原因呢?
接下來是各種嘗試各種排查,最後還是google給力,在stackoverflow上有個類似的問題
解答的也很有道理
意思就是jQuery文件加載了兩次,後加載的文件替換了之前的包含了colorbox的文件,造成關閉的時候colorbox無法識別。
根據這個說法,查看js文件的加載,如圖示
jquery果然加載了兩遍!!!
之後立馬修改代碼,把彈窗頁面裏的jquery引用刪掉。
重新調試,一切正常了~~~
從這裏得到一個教訓:javascript文件的引用一定要合理,不能隨便亂引用!