JavaScript または jQuery を使用して、ユーザーがページ上で Shift+F5 または F5 (ページを更新) するのを止める方法を知っている人はいますか?
その理由は、ユーザーが「送信」ボタンをクリックしてから再度 F5 キーを押した後、同じ変数をサーバー側に再送信するためにページを停止するためです。
JavaScript または jQuery を使用して、ユーザーがページ上で Shift+F5 または F5 (ページを更新) するのを止める方法を知っている人はいますか?
その理由は、ユーザーが「送信」ボタンをクリックしてから再度 F5 キーを押した後、同じ変数をサーバー側に再送信するためにページを停止するためです。
答えは、ページの更新を停止することではなく、更新によってデータが再度POSTされないようにすることです。これを行うには、フォームの処理後にサーバースクリプトにリダイレクトを発行させます。次に、ブラウザは指定されたURL(同じURLの場合もあります)をGETするため、更新によってPOSTが発行されるのではなく、代わりにGETが発行されます。
EDITED ..言うのは悲しいですが、これよりも良い解決策はありません。
<script type="text/javascript">
window.onbeforeunload = function(event)
{
event = event || window.event;
// For IE and Firefox (older versions)
if (event) {
event.returnValue = 'Are you sure you want to do this?';
}
// For Safari
return 'Are you sure you want to do this?';
}
</script>
--- 以下を追加したかっただけです。
ねえ、私は上に投稿したコードで遊んでいます..実際にはまだリフレッシュされていることに気付くことができませんでした..唯一の可能な解決策は、ポップアップ ダイアログを表示することです。ページを離れたい/更新したい。
今言ったことを反映するようにコードを更新しています。