【飞天奔月出品】小技巧:IE7 ,IE8 ,FireFox上,验证码不刷新 解决办法
【飞天奔月出品】小技巧:IE7 ,IE8 ,FireFox下,验证码不刷新 解决方法
参考js 版本: http://lf008.iteye.com/blog/628800
曾写了个精短的 验证码刷新 jquery版本
$j(".securityImage").live("click",function(){ var src=$j(this).attr("src"); $j(this).attr("src",src); });
看上去很满意,浓缩就是精华
谁知,测试兼容性出来,“IE7 ,IE8 ,FireFox下,验证码不刷新”
一研究,发现 “由于js指定的src与原来图片的src相同,因此从ie7起,firefox不刷新验证码。 ”
现在 改成:
$j(".securityImage").live("click",function(){ var selectorObj=$j(this); _doSecurityImage(selectorObj); }); /** * * @param selectorObj 验证码 图片对象 */ function _doSecurityImage(selectorObj){ var _src=selectorObj.attr("src"); //链接中是否有? queryString部分 var _index=_src.indexOf("?"); var isHasQuestionMark=_index!=-1; if(isHasQuestionMark){ _src=_src.substring(0,_index); } var src=_src+"?time="+new Date().getTime(); selectorObj.attr("src",src); }
加了个 time 时间戳,就搞定了
1 楼
quitgame
2013-03-07
神逻辑:
因此从ie7起,firefox不刷新验证码。
因此从ie7起,firefox不刷新验证码。
2 楼
tntxia
2013-03-07
相似的问题都是很容易碰到的。