今天一个同事打电话说他在退出的时候会出现一个confirm("您确定要退出吗");的提示,他又确信没有写这段代码。
我使用httpwatch抓到所有页面的内容之后,使用httpwatch的find功能,查找到了confirm是出现在一个不太相关的js中,内容包含:
1 |
$("#logout").click(function(){if(confirm("您确定要退出吗?"))...<br /><br /><br /><font size="3"><font face="Verdana">很明显,这里发生了元素ID污染的现象了,两个地方使用了相同的元素ID了。<br /><br />所以,页面中一定要注意全局污染的问题:<br /></font></font> |
- js全局变量的污染
- 元素ID的污染
- css存在污染的问题吗?
1 |
<br /><font><font><font size="3"><font face="Verdana"><br />检查你的js中有多少全局变量: http://mankz.com/code/GlobalCheck.htm</font></font></font></font><br /><br /><br /><font size="3" face="Verdana">在处理这个问题的同时,也领教了httpwatch的find的好处,它就是页面的grep,很好很强大</font> |