ユーザーがjQueryモーダルフォームからログインできるRailsアプリがあります。ログインしたら、location.reload() を使用して元のページを更新します。
この時点で、新しい jQuery ダイアログを作成しようとしています。location.reload() の実行が終了した後にのみダイアログを開くにはどうすればよいですか?
現在、location.reload() が完了する前にダイアログがロードされています。これにより、ダイアログが消えます。
ユーザーがjQueryモーダルフォームからログインできるRailsアプリがあります。ログインしたら、location.reload() を使用して元のページを更新します。
この時点で、新しい jQuery ダイアログを作成しようとしています。location.reload() の実行が終了した後にのみダイアログを開くにはどうすればよいですか?
現在、location.reload() が完了する前にダイアログがロードされています。これにより、ダイアログが消えます。
できません。
呼び出すlocation.reload()
と、ページ全体がリロードされます。完了すると、元のページの Javascript は完全になくなります。
とにかくページ全体をリロードしている場合、そもそも AJAX を使用する意味は何ですか?
通常のポストバックを使用してログインを実行してから、ログイン ポストバックでダイアログを表示する Javascript を発行するサーバー側コードを追加する必要があります。
リロード後に元のページと通信するために使用する小さなポップアップ ウィンドウを作成することもできますがwindow.opener
、それは非常に醜いアイデアであり、ポップアップ ブロッカーに対して脆弱です。
おそらく、追加して url を介して変数を渡すことができます?var=value
。
次に、あなたの
$(document).ready(function() {
});
URLでそのパラメーターを確認し、そこにある場合はjQueryのdelay()
関数を実行しますか?
私は主に PHP と Drupal を使用しているため、これが Rails で機能するかどうかはわかりません。幸運を!