2017-10-14 1 views
1

私の要件は、ユーザーがフォームデータを保存せずにページを離れるときにカスタマイズされた確認ボックスを表示することです。ユーザーがページを去るときにangularjsにカスタマイズされた確認ボックスを表示

私はwindow.onbeforeunloadイベントを使用して、Google Chrome関連の事前定義済みの確認ボックスを表示しています。ユーザーがフォームを変更してリロードしようとすると、タブの閉じるまたはルートの変更$ mdDialog.confirmを表示して、ページを離れたり同じページに留まるように求めます。私はどのようにしてそれを作るのですか?

+0

私はそれが可能であるとは考えておらず、それは設計によるものです。唯一通知できるのは、ブラウザの独自のダイアログを使用することです。これはページがユーザーを無期限に乗っ取ることができないためです。 –

答えて

1

セキュリティ上の理由から、これはできません。詳細は、beforeunload eventのMDNページをご覧ください。

以前は、ユーザーに表示されたカスタム文字列を返すことができましたが、最近は無視されます。あなたができることは、既に持っている標準のダイアログを表示するようにページに指示することです。 (一部のブラウザやいくつかのシナリオでは、その指示が無視されることさえあります)。

代わりに、フォームから離れるためのボタンをページに含めることもできます。それでもユーザーがページから直接ナビゲートすることはできませんが、十分に目に見える場合は、多くの場合、ユーザーは直接ナビゲートするよりもクリックする可能性が高くなります。また、フォームに明示的な保存またはキャンセルが必要であることをパッシブに通知する機能も備えています(具体的な内容に応じて)。

関連する問題