這問題之前在 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 ... */ };

 

文章標籤
全站熱搜
創作者介紹
創作者 wbkuo 的頭像
wbkuo

長島冰茶的工程師筆記

wbkuo 發表在 痞客邦 留言(0) 人氣(84)