Emlog默认模板下验证码是没有点击刷新功能的,要刷新验证码的话还是得按F5刷新整个页面重新获得验证码,虽然emlog验证码看得比较清楚,但要通过重新刷新网页来获得新的验证码的方法对于网站负荷和用户体验来讲都并不合适,所以有必要给验证码添加点击刷新功能了。2 Z& o2 z6 h- C( F* a6 s" d: [/ M
若要给emlog验证码添加点击刷新功能,还是很简单的,因为emlog的验证码也是img形式存在的,所以和其它类似的验证码一样,为img标签添加onclick属性就行了。
" Z' P A6 \3 T# [; _; C Emlog有用到验证码的源代码有如下文件:% _3 j: J% m0 `6 v ~/ Z- l8 k
Emlog碎语:/t/index.php* l( p: T) P2 \( i# L
Emlog评论:/include/controller/log_controller.php D: _; h Z! f: s1 }. T: r
Emlog管理后台登录:include\lib\loginauth.php5 N& o6 r0 P M, }' }% I
( O8 j; I* q9 L6 A9 I' O
将以上文件的验证码位置的img标签添加以下语句即可实现点击刷新验证码功能:- style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src+'?'"
复制代码 如Emlog评论:/include/controller/log_controller.php, 有以下验证码源码:- <img src="".BLOG_URL."include/lib/checkcode.php" align="absmiddle" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" />
复制代码 改成如下代码即可添加上点击刷新验证码功能:- <img src="".BLOG_URL."include/lib/checkcode.php" align="absmiddle" style="cursor:pointer;" alt="未显示?请点击刷新" title="看不清楚?请点击刷新" onclick="this.src=this.src+'?'" /><input name="imgcode" type="text" class="input" size="5" tabindex="5" />
复制代码 其它几个页面中添加验证码刷新功能方法类似,此略,注:此方法在em5.3.1正常使用,其他版本未测试。 # s3 t6 R/ n( q; @/ w }
2 Q$ J; c9 o+ B/ p' r
另一种方法,来源于论坛,简爱发布:前提是当前模板要加载过 jQuery,没有的可以自己添加一下,直接在后台 添加统计代码的位置添加即可 (下面的代码 也在此位置添加,适用于全部正规模板)- <font size="4" face="黑体">$('img[src*="checkcode.php"]') // jQuery 筛选器
, O' S' C/ W0 G: I' x$ l& R! R - .attr('title', '单击刷新验证码') // 添加 title
9 F! E3 L# {3 W% M3 c; Q; w% q# U - .click(function(){ // 单击事件& U! X( _ U! p) e
- this.src = this.src.replace(/\?.*$/, "") +'?'+ new Date().getTime(); // 重新设置 验证码 图片地址 checkcode.php?r=当前毫秒数% B7 o* _: m g! G1 t3 a
- });</font>
复制代码
& L- u$ I8 X( ]$ S t" e, A. L( M |