完全に初歩的なものが欠けているようです。私が達成しようとしていることは、かなり一般的なケースのように見えます。それで、どうして簡単な方法がないのか疑問に思います。強制的にページをリフレッシュして#sectionにジャンプ
問題はJavaScriptから現在のページを最新表示し、同時に#sectionに着陸したいということです。私が単純に行った場合:
document.location.href = document.location.href + "#section";
私がテストしたすべてのブラウザは、その#section(リロードなし)にスクロールするだけです。それはある意味で意味があります。ただ、完全を期すために、私は
document.location.assign(document.location.href + "#section");
をすれば、それは(驚くことではないが、それは確かに同じ機能を内部的に沸く)同じことを行います。最後に、document
オブジェクトにはdocument.reload()
関数もあるようですが、これはリロードを強制するかどうかを指定するオプションのboolean引数をとりますが、明らかに#sectionを指定することはできません。私は(これらのメソッドを使用して)見つけることができる唯一の方法は、以下の組み合わせだった。
document.location.assign(document.location.href + "#section");
document.location.reload();
しかし、あなたはおそらく推測しているとして、それは、実際に3回をスクロールするために、ブラウザの原因とリロードをスクロールしているので、それは、理想的ではありません最終的には。
私はそこに方法があることを知っています:サーバー側のリダイレクトや独自のランダムなクエリ文字列パラメータの追加などがありますが、単純な方法はないと思われます。
は明らか質問です:なぜ世界でページをリロードする必要がありますか? –