2016-09-01 7 views
0

Googleの角度2のアプリケーションで、GoogleのreCAPTCHAでフォームを作成しましたが、以下のように読み込んでいます。角2:期限切れのコールバックはGoogleのreCAPTCHAで解雇されていません

<div class="g-recaptcha" [attr.data-sitekey]="sitekey" expired-callback="expCallback" data-callback="verifyCallback"></div> 

対応するコンポーネントコンストラクタでは、以下のようにexpCallbackをバインドしています。

constructor(private _accountsApi: AccountsApiService, private _fb: FormBuilder) { 
    this.initForm(); 
    window['verifyCallback'] = this.recaptchaCallback.bind(this); 
    window['expCallback'] = this.resetCaptcha.bind(this); 
} 

resetCaptcha() { 
    grecaptcha.reset(); 
} 

ここで、ユーザーがCaptchaを解決し、ページを2分間アイドル状態にした場合。 "認証が期限切れになりました。チェックボックスを再度オンにしてください" このエラーメッセージが表示されたら、resetCaptcha()メソッドが呼び出されません。

何か不足していますか?または、キャプチャが期限切れになったときにリロードする方法がありますか?

答えて

0

私はangle2専用に開発されたこのモジュールを使用しました。 コールバックでうまく動作します。

angular2-recaptcha

+0

「有効期限が切れ、コールバック」属性を宣言する方法はありますか?私がCaptchaが期限切れになったらリセットできるように。 –

+0

@dineshsharaf、https://github.com/xmaestro/angular2-recaptchaがこの機能を利用するように更新されました。試してみてください。 –

0

あなたが検証をリセットするには、次のコードを使用することができます/現在あなたが唯一の回避策、それを呼び出すことができますreCAPTCHAの

let myWindow: any = window; myWindow.grecaptcha.reset();

を使用。より多くの更新については、githubの時にこのスレッドに従ってください:

Link to this feature thread at GitHub

+0

キャプチャが期限切れになったときにのみリセットします。ですから、私の質問は です。期限切れのCaptchaイベント( 'expired-callback')をキャッチしてリセットする方法を教えてください。 –

関連する問題