次のエラーが発生する場所でReCAPTCHAを使用しようとしています。
ReCAPTCHAは、ユーザーが指定した関数myCallBackを見つけることができませんでした。
この問題を解決するにはどうすればよいですか?
var verifyCallback3 = function(response) {
if(response!=null){
$("#rss").show();
}
};
var myCallBack = function() {
grecaptcha.render('html_element', {
'sitekey' : '6sssfffffffffAAPfEI_RkbAlUuw5FA4p-kiGy5Nea',
'callback' : verifyCallback3,
'theme' : 'light',
'type':'image'
});
};
コールバック関数がグローバルスコープで定義されていることを確認してください。何らかの理由で、本番環境では、私の機能はこの名前空間にありませんでした。
に加えて:
function myCallback() { ... }
必ずグローバルスペースに直接割り当ててください。
window.myCallback = myCallback;
これが問題かどうかをテストできるはずです。Javascriptコンソールで関数名を入力し、定義されているかどうかを確認します。
Recaptcha divで、データコールバックで括弧を使用しないようにしてください。
data-callback="yourCallback();"
ではなくdata-callback="yourCallback"
のように
私と同じことが起こっています。コードを慎重に確認しましたが、すべてがうまくいきましたが、captchaは表示されず、コンソールには「ReCAPTCHAはユーザー提供の関数を見つけることができませんでした:myCallBack」でしたが、最終的に私のJavaScriptコードはページ読み込み機能です。私はちょうどページ読み込み機能とその動作からそれを出しました。
スクリプト関数を配置する必要があります。
<script> function registerFormCheck()</script>
Googleスクリプトの前に次のようなもの:
/* First */ <script> function registerFormCheck(){} </script>
/* Second */ <script> src='https://www.google.com/recaptcha/api.js'></script>
これは私のために働いた...