2015-06-18 72 views
0

我正在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。

Goggle's recaptcha

如果有人可以帮助,我很感激。

+0

你应该检查是否有任何元素与刷新按钮重叠。 – Irfan

+0

已检查@Irfan,但什么也没找到。事实上,由于谷歌有最新的ReCaptcha版本,我们决定使用它。 – Caco

回答

0

这需要reCAPTCHA网站的注册和API密钥并下载zip文件。

这里得到http://recaptcha.net/

钥匙从这里

http://code.google.com/p/recaptcha/d...:phplib-Latest

注册让您的zip文件,并获取您的API密钥。保持这个信息方便,不要失去它。

这是我用来放置在tpl.php页面的代码。这将显示验证码在网页上

<?php 
require_once('captcha/recaptchalib.php'); 
$publickey = "Place your publickey here"; // you got this from the signup page 
echo recaptcha_get_html($publickey); 

?> 

例子:

<?php 
require_once('captcha/recaptchalib.php'); 
$publickey = "6Lf1bAkBGT#&FR7LeYIkjth61T5n-BpmpXI3IHMa"; // you got this from the signup page 
echo recaptcha_get_html($publickey); 

?>