最近一个项目的原因使用了DWZ框架,整体看框架做的不错,效果也可以,但有一个BUG:
DWZ中navTab是以div的形式组织,所以打开一个新页面就相当于把新页面的html内容填充到一个DIV当中
这样一来就有问题了,因为新打开的页面都是在一个页面的各个DIV中,所以如果定义了相同名称的js变量或者函数,那就有可能会产生冲突。
简单测试了一下结果如下:
1.在a.jsp中定义一个js函数
function showAlert(){
alert("a.jsp");
}
2.在b.jsp中定义一个js函数
function showAlert(){
alert("b.jsp");
}
先打开a.jsp弹出结果为a.jsp
再打开b.jsp弹出结果为b.jsp
这时运行结果为正确的。
然后点击标签切换到a.jsp,注意不是通过点菜单进入,这时页面a.jsp中alert出来的内容为b.jsp
由此得出结论,两个页面中的js确实是冲突的,而且以后定义的为主。
此处生效是因为js本身的特性,后定义的会把前面定义的覆盖。