1

ページを戻すときに画像をリロードするためにさまざまな方法を試しましたが、何を試しても同じ画像が得られます。いくつかの方法は近いものでした (画像が更新されていることはわかりますが、recaptcha サーバーが応答し、前の画像が再び表示されます)。戻るボタンをクリックしたときに画像をリロードするためのトリックはありますか? ユーザーがセキュリティ ワードを間違って入力した場合に、すべてのフォーム情報を再入力する必要はありません。また、すべての情報を保存することも避けたいと思います。このページは従来の ASP であるため、jquery または ajax メソッドが進むべき道であるか、そうであると想定します。前もって感謝します。

4

5 に答える 5

2

この問題を解決する簡単なハックを見つけました。recaptcha のあるページで、次の jquery を追加します。

<script>
$(document).ready(function(){
  $("#form_div").Show();
);
</script>

「#form_div」を、フォームを格納する div に置き換えるだけです。ユーザーが戻るボタンを押すと、recaptcha 画像が更新されます。それはあらゆる意味でハックですが、私にとってはうまくいきました。

于 2013-01-18T04:42:42.397 に答える
1

これは、Chrome で機能する簡単な方法です。

以下のように HTML 本文にリロード機能を追加します。

<body onload="javascript:Recaptcha.reload()">

またreCaptcha、ユーザーが [戻る] ボタンをクリックすると、Chrome で画像が自動的に再読み込みされます。

于 2013-06-18T02:36:34.187 に答える
1

編集:履歴APIの回答を削除して、可能なAJAXの回答を表示しました。

jQuery を使えば、驚くほど簡単です。

$(window).on('load',function(){
    $('#RecaptchaContainer').load('/path/to/recaptcha.php',function(){
         // any javascript you need to perform on the recaptcha
    });
});

そのファイルにすべての recaptcha HTML を含めることができますが、そのコールバック関数内にすべての JavaScript を含めることができます。

于 2013-01-10T23:08:11.770 に答える
1

次のコード行を使用して、正しく更新することができました。

body onLoad="javascript:Recaptcha.reload()"

しかし、この方法は適切な解決策ではありません。フォーカスが recaptacha テキスト フィールドに設定されるためです。これは、最初にページに入ったときでも、ウィンドウが recaptacha フィールドがあるページの下部までスクロールすることを意味します (ページに「戻る」を押したときのみ)。この解決策は機能しますが、recaptacha 入力フィールドに焦点を当てない解決策を見つけることをお勧めします。

于 2014-02-18T09:49:31.513 に答える
1

から更新メソッドを呼び出しますwindow.onload

window.onload = function(){ /* refresh here */ }
于 2013-01-10T22:40:37.377 に答える