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

 

arrow
arrow
    全站熱搜

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