Chinaunix首页 | 论坛 | 博客
  • 博客访问: 420798
  • 博文数量: 155
  • 博客积分: 2590
  • 博客等级: 少校
  • 技术积分: 2161
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-25 09:33
文章分类

全部博文(155)

文章存档

2015年(1)

2014年(2)

2013年(55)

2012年(97)

分类: Web开发

2013-03-07 12:36:27

参考js 版本:

曾写了个精短的 验证码刷新 jquery版本 

Js代码 : 
  1. $j(".securityImage").live("click",function(){  
  2.     var src=$j(this).attr("src");  
  3.     $j(this).attr("src",src);  
  4. });  

 看上去很满意,浓缩就是精华

谁知,测试兼容性出来,“IE7 ,IE8 ,FireFox下,验证码不刷新”

一研究,发现 “由于js指定的src与原来图片的src相同,因此从ie7起,firefox不刷新验证码。 

现在 改成:

Js代码:  
  1. $j(".securityImage").live("click",function(){  
  2.         var selectorObj=$j(this);  
  3.         _doSecurityImage(selectorObj);  
  4.     });  
  5. /** 
  6.  *  
  7.  * @param selectorObj 验证码 图片对象 
  8.  */  
  9. function _doSecurityImage(selectorObj){  
  10.     var _src=selectorObj.attr("src");  
  11.     //链接中是否有? queryString部分  
  12.     var _index=_src.indexOf("?");  
  13.     var isHasQuestionMark=_index!=-1;  
  14.       
  15.     if(isHasQuestionMark){  
  16.         _src=_src.substring(0,_index);  
  17.     }  
  18.     var src=_src+"?time="+new Date().getTime();  
  19.     selectorObj.attr("src",src);  
  20. }  

加了个 time 时间戳,就搞定了


阅读(1134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~