2017-12-19 16 views
2

URL内の#をクリーンアップする方法を教えてもらえますか?URLハッシュタグをクリアする最善の方法

私は現在、参照のために#を使用しているポップアップを持っていますが、ユーザーがボタンをクリックしたときにのみデータが読み込まれるため、ページがリフレッシュされるとデータは読み込まれません。

は、現在起こって:

  • ユーザーがボタン
  • モーダルポップアップ表示を(#user-calendar
  • ユーザーがページを更新クリックすると、データが存在しなくなった#user-calendarはまだ
が存在するため、モーダルはまだポップアップ表示します

何が起こるはずですか:

  • ユーザーはボタン
  • モーダルをクリック(#user-calendar
  • ユーザーがページをリフレッシュするポップアップ表示、データが存在しなくなった、モーダルを閉じる必要があります。

私はのようなもの試してみた:setTimeoutなどとただし

setTimeout(function(){}, 500); 

をユーザーはまだそれが閉じて、その後、モーダルを見ています。私は何かをきれいにしたいので、ユーザーにとって厄介なように見えません。

これはどのように達成できますか?

+0

おそらく、あなたはencodeURIComponent(文字列)を探しています。 ? –

+0

@JonathanChaplinなぜencodeURIComponentが必要でしょうか? –

答えて

1

モーダルコードが実行される前にハッシュを変更してみてください。あなたは、これをモーダルを作るスクリプトの上にある独自のスクリプトタグに入れることができます。

if(window.location.hash === "#user-calendar"){ 
    window.location.hash = ""; 
} 
+0

こんにちは、私はこれを呼び出してもモーダルはまだポップアップします –

+0

タイミングの問題でなければなりません。私は私の答えを編集しました –

関連する問題