コンテンツにスキップ

クライアントサイドエラー

Turnstileが問題に直面し、error-callbackを呼び出す場合があります。これらの問題に対処するためのトラブルシューティング手順については、一般的なエラーコードのリストを参照してください。

エラーハンドリング

ウィジェットを明示的にレンダリングするためのerror-callbackオプションと、暗黙的レンダリングにおけるdata-error-callback属性は、発生する可能性のあるエラーを処理するためのJavaScriptコールバックを提供します。

エラーコールバックを指定することは任意です。エラーコールバックが設定されていない場合、Turnstileはエラー時にJavaScript例外をスローします。

エラーコールバックが非偽の結果を返すと、Turnstileはエラーコールバックがエラーを適切に処理したと見なします。

エラーコールバックがnoまたは偽の結果を返すと、Turnstileはエラーコードを含む警告をJavaScriptコンソールに記録します。

エラーコールバックは、最初のパラメータとしてエラーコードを取得します。

リトライ

デフォルトでは、Turnstileは問題に直面した際に自動的にリトライします。リトライによる後続の失敗が観察されると、エラーコールバックは複数回呼び出される可能性があります。

retryの値をデフォルトのautoの代わりにneverに設定することで、リトライの動作を調整できます。これにより、Turnstileは自動的にリトライしなくなります。訪問者の検証に問題やエラーがある場合、ウィジェットはリトライせず、該当する失敗状態のままになります。

実装は、対応するerror-callback内でturnstile.reset()を呼び出して手動でリトライをトリガーすることができます。

Turnstileのリトライ間隔は、retry-intervalオプションで設定できます。

インタラクティビティ

ユーザーが合理的な時間内にインタラクティブなチャレンジに関与しない場合、タイムアウトコールバック関数がトリガーされます。

たとえば、Turnstileウィジェットが数分かかる可能性のある長いフォーム内に実装されているシナリオでは、ウィジェット内のインタラクティブなチャレンジは、長時間未対応のままだと古くなります。

そのような場合、ウィジェットのtimeout-callbackがアクティブになり、ウィジェットが必要に応じて自分自身をリセットできるようになります。