今天在做前端一个弹窗的功能的时候出现了一个bug。
弹窗用的是colorbox控件,点击控件第一次弹窗是正常的,之后点击关闭会报错,如图
看到错误,第一反应是js文件没加载?
通过chrome的调试工具查看,js文件正常加载了的。
那会是什么原因呢?
接下来是各种尝试各种排查,最后还是google给力,在stackoverflow上有个类似的问题
解答的也很有道理
意思就是jQuery文件加载了两次,后加载的文件替换了之前的包含了colorbox的文件,造成关闭的时候colorbox无法识别。
根据这个说法,查看js文件的加载,如图示
jquery果然加载了两遍!!!
之后立马修改代码,把弹窗页面里的jquery引用删掉。
重新调试,一切正常了~~~
从这里得到一个教训:javascript文件的引用一定要合理,不能随便乱引用!