Captcha设置验证码图片延迟载入

 

Captchatypecho 的基于 securimage 的图形验证码插件,本文讨论基于 Captcha 1.0.0

的确没什么技术含量,只是记下来,方便同样需求的童鞋.

 

① Plugin.php 中 output方法,修改为

    public static function output()
    {
		$img = Typecho_Common::url('/action/captcha', Helper::options()->index);
        echo '<img style="display:none;" id="captchaImg" src0="' .  $img
        . '" alt="captcha" onclick="this.src = \'' . $img . '\' + \'?\' + Math.random()" style="cursor: pointer" title="' . _t('点击图片刷新验证码') . '" /><br />'
        . '<input type="text" class="captcha" name="captcha_code" id="captchaIpt" /> <strong>' . _t('请输入验证码') . '</strong>';
    }

②主题文件 comments.php 中添加载入验证码图片事件.

以 themes/ios/comments.php 为例:


				   <p id=captcha style="display:none"><?php Captcha_Plugin::output(); ?></p>
				   <script type="text/javascript">
						document.getElementById('comment').onfocus=function(){
							document.getElementById('captcha').style.display='block';
						}
						document.getElementById('captchaIpt').onfocus=function(){
							if(this.getAttribute('focused'))return;
							var img=document.getElementById('captchaImg')
							img.src=img.getAttribute('src0');
							img.style.display='block';
							this.setAttribute('focused',true);
						}
					//	$('#comment').focus(function(){$('#captcha').show()});
				   </script>

 

转载须注明出处:  http://www.yurenchen.com/11.htm


标签: javascript typecho php

添加新评论 »

贴图表情