我正在Joomla 1.5应用程序中执行来自Google的ReCaptcha。我知道,这是Joomla的旧版本,但随着时间的推移,公司的硬编码做法使升级变得不可能。Google ReCaptcha重新加载按钮在Joomla 1.5中不起作用
顺便说一下,我找到了Joomla 1.5的一个旧的ReCaptcha插件,开发人员建议的(https://developers.google.com/recaptcha/old/intro)。
该插件非常简单易用。足够安装插件并启用它。这样,它只是一个使用静态方法的问题。我必须做的一件事是在components/com_community/helpers/recaptcha.php和plugins/system/recaptcha/recaptchalib.php中更改ReCaptcha ajax API的路径。这是因为插件引用了旧路径。
我在ReCaptcha的服务器端部分工作得很好。所以我最关心的是客户端问题。要显示验证码片段,仅仅是一个物质在模板中包括.php
行
<div><?php echo ReCaptcha::get('html'); ?></div>
。
的ReCaptcha::get
静态方法生成以下的代码在我的模板
<div>
<div id='recaptcha_ajax_instance_'></div>
<script type='text/javascript' src='http://www.google.com/recaptcha/api/js/recaptcha_ajax.js'></script>
<script type='text/javascript'>
(function(){
function loadRecaptcha(){
Recaptcha.create('6LcKaAgTAAAAAP3CgGF04VUsWTPGwzDs3EaVlajH','recaptcha_ajax_instance_');
}
if(window.addEvent){
window.addEvent('domready', loadRecaptcha);
}
else{
if(window.addEventListener){ window.addEventListener('load', loadRecaptcha); }
else if(window.attachEvent){ window.attachEvent('onload', loadRecaptcha); }
else{ old = window.onload; window.onload = function(){ if(old && typeof old == 'function'){ old(); } loadRecaptcha(); }; }
}
})();
</script>
</div>
这个问题很简单,就是重装验证码不起作用的按钮。悬停按钮时鼠标不会改变为指针,也不会在单击时改变单词。另外两个按钮(音频指示灯和帮助)工作正常。
我想知道上面的代码是否过时了谷歌URL中最新的API。
如果有人可以帮助,我很感激。
你应该检查是否有任何元素与刷新按钮重叠。 – Irfan
已检查@Irfan,但什么也没找到。事实上,由于谷歌有最新的ReCaptcha版本,我们决定使用它。 – Caco