2012-07-28 58 views
2

我使用pushStateonPopState創建ajax導航。onpopstate in chrome and firefox

但這裏有一個小問題。

在第一次訪問該頁面或頁面時刷新了Chrome onPopState事件,但firefox沒有。

這會導致Chrome加載內容兩次,但Firefox的效果很好。

我不知道哪一個工作正常,我該如何解決這個問題?

看來,這種行爲是在舊版本相反:))

HTML5 onpopstate on page load

回答

1

我解決這個問題:

window.onpopstate = function(event) 
{ 
    if (!event.state) return; 
    ajaxPage(document.location.href); 
}; 
0

這並沒有在早期版本的Safari工作對我來說。 我們可以實現我們自己的window.onpopstate有domready中聽者如果

  • 前DOM就緒
  • Chrome的初始onpopstate被解僱之前

普遍的問題是,我們不會使用它Chrome在這裏:

目前的HTML5規範說,'popstate'永遠不應該在初始頁面加載時被觸發。 Chrome和大多數Safari版本不會遵循這一點。 Chrome團隊應該注意 - 請「星」

http://code.google.com/p/chromium/issues/detail?id=63040