2013-08-28 101 views
2

我想在對話框中添加驗證碼。 這是我第一次在我的poroject中使用captcha如何在GWT項目中添加Captcha?

驗證碼控件未加載。

我用gwt-recaptcha-1.0.0.Beta2.jar這個插件顯示在客戶端。 和公鑰是由givinmg URL example.com產生,

也包括我的腳本和文件如下:

<script language="JavaScript" type="text/javascript" 
    src="/js/jquery-1.10.2.min.js"></script> 
<script language="JavaScript" type="text/javascript" 
    src="/js/jquery-ui-personalized-1.5.2.packed.js"></script> 
<script language="JavaScript" type="text/javascript" 
    src="/js/sprinkle.js"></script> 

以下是錯誤來

com.google.gwt.event.shared.UmbrellaException: Exception caught: Exception caught: Exception caught: (TypeError) @com.claudiushauptmann.gwt.recaptcha.client.Recaptcha::create(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)([string: '6LcTueYSAAAAAHPQtHZgAULhzRiawknYecvkKokU', string: 'recaptcha_div', string: 'red', string: 'en', int: 0]): $wnd.Recaptcha is undefined 

更新:

在瀏覽器中,當我用firbug檢查它時,控制檯在檢索內容時顯示錯誤噸。在Firebug控制檯中顯示錯誤消息:

Blocked loading mixed active content "http://api.recaptcha.net/js/recaptcha_ajax.js" 

而且我期待像正在運行的項目後,我的html頁面下面的代碼,而是失蹤了。

<script type="text/javascript" src="http://www.google.com/recaptcha/api/challenge?k=6LdeueYSAAAAAKhH5DTUxAv5415DZBgp5cuf0Rmd&ajax=1&cachestop=0.992938555511717&lang=en"> 

當我創建一個示例項目它在那裏。

更新2 的迴應是:

var RecaptchaState = {'programming_error' : 'Input error: Invalid referer'}; 
+0

我通過給出正確的域名來生成密鑰來解決這個問題。 – Dipak

回答

1

您好我想通了,究竟是什麼問題是...

被第一個錯誤信息:

com.google.gwt.event.shared.UmbrellaException: Exception caught: Exception caught: 
Exception caught: (TypeError) 
@com.claudiushauptmann.gwt.recaptcha.client.Recaptcha:: 
create(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I) 
([string: '6LcTueYSAAAAAHPQtHZgAULhzRiawknYecvkKokU', string: 'recaptcha_div', 
string: 'red', string: 'en', int: 0]): 
$wnd.Recaptcha is undefined 

這表現僅僅是因爲,從客戶端gwt-captcha組件嘗試調用recaptcha_ajax.js中的功能,並且它不可用。

當我檢查多,使用螢火客戶端的網頁已顯示一條錯誤消息:

Blocked loading mixed active content "http://api.recaptcha.net/js/recaptcha_ajax.js"

因此,這是第一個錯誤消息的原因。

現在是什麼讓我的項目塊訪問這個JS網址是,我的項目URL是https://domain/index.html,所以安全的內容阻止不安全的內容。 看到我的文本傳輸協議是安全的(https),但是recaptcha_ajax.js url是不安全的(http)。

解決方案: 因此,爲了解決這個問題,我必須將不安全的URL更改爲安全的。

編輯gwt-captcha.jar文件中的gwt.xml文件。 [原始]

<module> 
     <inherits name="com.google.gwt.user.User"/> 
     <script src="**http://**api.recaptcha.net/js/recaptcha_ajax.js"/> 
</module> 

到 [編輯]

<module> 
     <inherits name="com.google.gwt.user.User"/> 
     <script src="**https://**api.recaptcha.net/js/recaptcha_ajax.js"/> 
</module> 

感謝。