ページをリダイレクトしている間にダブル・サブミットを避けるために、window.onbeforeunloadをオーバーライドしようとしました。ダブルクリックを避けるためにwindow.onbeforeunloadを使用する
window.onbeforeunload = disableCurrentWindow;
function disableCurrentWindow()
{
console.log("Before Disable the contents");
window.document.body.disabled = true;
console.log("After Disable the contents");
return undefined;
}
私がここに真実を返すと、それは私が現時点で必要としないデフォルトの確認ポップアップを与えます。私はちょうど次のページにユーザーをリダイレクトする必要があります。ダブルクリックを許可する必要はありません
このイベントでは、確認ダイアログボックスにメッセージを表示して、現在のページに留まるか、 。 onbeforeunloadイベントを使用してダブルクリックを明確に「無効にする」とは思えません。 Firefoxブラウザにはデフォルトのポップアップが表示されます。そのブラウザはユーザー定義のメッセージをサポートしていません。 つまり、window.onbeforeunloadはstringを返す関数でなければなりません。 –
@VictorPerovご意見ありがとうございます。シナリオは次のとおりです。アプリケーション間でページ間でユーザーをリダイレクトするリンクがあります。しかし、ユーザーがこれらのリンクをダブルクリックすると、GET要求がサーバー側に2回送信されることがあります。重複した提出を避けるために、共通の動作を使用して回避する必要があります。 Javascriptを使用してこの問題を解決するための他の回避策がありますか? – JagKum