這問題之前在 chrome 和 IOS 的 safari 會發生,但 chrome 的好像拿掉這個行為了。
請參考 StackOverflow 解法: http://stackoverflow.com/questions/10756893/how-to-ignore-popstate-initial-load-working-with-pjax
解法1: 使用 flag
1.1 做 pushState 之前寫一個 Flag 去記,代表已經有 pushState 了。
1.2 在 popState 判斷有那個 Flag 才實際去做事。
解法2: 使用 pjax:popstate (但似乎要用 pjax 的套件能會有用,不過沒試過)
將原本的
$(window).on('popstate', function() { /* do something ... */ };
改為
$(window).on('pjax:popstate', function() { /* do something ... */ };
全站熱搜
留言列表