1

イベントページに日付と時刻を表示しています。ログインしているメンバーについては、好みのタイムゾーンを取得できます。しかし、サインインしていないユーザーについては、最初にラップトップのタイムゾーンを検出し、ページをローカルのタイムゾーンで表示したいと考えています。
application.html.erb で jquery を使用します。

<% if session[:time_zone].blank? %>
    <script type="text/javascript">
        jQuery.ajax({
            data: {user_time_zone: $().get_timezone()},
            type: 'post',
            url: "/set_time_zone_session"
        })
    </script>

質問: jQuery を最後に実行するため、最初はページにデフォルトのタイムゾーンが表示されます。ページを更新した後、すべてのサブシーケンス リクエストのタイムゾーンが適切に設定されます。また、javascript を使用した最初のリクエストの後にページをリロードしますが、これを行うより良い方法はありますか?

Extra : ページをリロードする必要がある場合。location.reload(); を追加します。jQuery呼び出しの後。リロードは、最初のリクエストが完了した後に発生します。最初のリクエストが読み込まれる前に、すぐにページをリロードする方法はありますか? そうしないと、ページが 2 回読み込まれるという奇妙な事態が発生します。

4

1 に答える 1