IT技术博客大学习 共学习 共进步

页面中的全局污染

PHPor 的Blog 2010-06-23 13:03:04 浏览 2,103 次
今天一个同事打电话说他在退出的时候会出现一个confirm("您确定要退出吗");的提示,他又确信没有写这段代码。

我使用httpwatch抓到所有页面的内容之后,使用httpwatch的find功能,查找到了confirm是出现在一个不太相关的js中,内容包含:

$("#logout").click(function(){if(confirm("您确定要退出吗?"))...


很明显,这里发生了元素ID污染的现象了,两个地方使用了相同的元素ID了。

所以,页面中一定要注意全局污染的问题:
        
  • js全局变量的污染    
  • 元素ID的污染    
  • css存在污染的问题吗?
        
 

检查你的js中有多少全局变量: http://mankz.com/code/GlobalCheck.htm


在处理这个问题的同时,也领教了httpwatch的find的好处,它就是页面的grep,很好很强大

建议继续学习

  1. 什么是DNS劫持和DNS污染? (阅读 6,103)