2017-04-25 5 views
0

これはページの異なるセクションへのアンカーリンクからなるナビゲーションを備えた単一ページのWebサイトです。ナビゲーションがクリックされると、URLはex。(。com /#photos)に更新され、クリックされた各アンカーリンクの新しいページとしてブラウザが追加されます。これにより、ユーザは以前のウェブサイトに戻るために何度もクリックする必要があります。私は最大2のバックボタンのプレス、ページの上部に行くために1、前のウェブサイトに行くために2を持っていると思います。私は本当にこのコードを実装する場所を失うか、ブラウザがユーザーに対してどのように動作するかを混乱させるのが理想的であるかどうかを知りません。私のgoogle-fuは、この問題に関する情報をほとんど見せてくれませんでした。視差ページのアンカーリンクURLを更新すると、ブラウザのナビゲーションで問題が発生する

答えて

0

window.onpopstateイベントに関数を追加し、window.history.lengthが変更されているかどうかを確認できます。それが変更されていない場合、おそらくそれは戻るボタンのプレスです。このよう

..本当にうまくいきませんでした

var prevHistoryLength = -1; 
window.onpopstate = function(e){ 
    if (prevHistoryLength == window.history.length) 
     document.location = document.referrer; 
    prevHistoryLength = window.history.length; 
} 
+0

。より良い解決策は、URLがwww.whatever.com/indexのように書き換えられないようにし、アンカーリンクが使用されているときにそのままにすることでしょうか? –

関連する問題