WEBアプリというのかわかりませんが、とある社内向けのWEBシステムを作成中の事
まぁ一画面でいろいろ表示させたい顧客要望で、狭い(とはいえ1920x1080ですが)画面をDIVで区切ってありそれぞれに必要な情報を同時に表示させてる訳です。
リストAをクリックしたときにAJAXで取得してきて遷移せずにリストBが更新されるようになってるよくある話です。
リストBは量が多い為スクロールするので、表示されている先頭数件分より下の方にある対象の部分をあらかじめウィンドウ内に見えるように表示しておきたかった訳です。
aタグだと<a href="index.php#target">
みたいな感じで書くとクリックするとそこが表示されている感じですかね?
Javascriptだとlocation.hash = "target";
みたいに書くのが割と普通では無いかと思ってます。
が、何かおかしいなと思ってよく見てみたら初期表示時に一回遷移すると、リストが更新されてまたhashを指定しても遷移しない事が判明。
結論から言うと、一度空にしてからもう一度セットするとOKな事がわかりました。
location.hash = "";
location.hash = "新しい飛び先";
一応GoogleChromeはこれで飛びます。
ですが正直なんか腑に落ちません。
何か私の勘違いなのでしょうか?