Jquery onpopstate事件不';Chrome/Safari中的t触发器

Jquery onpopstate事件不';Chrome/Safari中的t触发器,jquery,html,google-chrome,safari,jquery-events,Jquery,Html,Google Chrome,Safari,Jquery Events,Chrome和Safari不会触发HTML5onpopstate事件。 以下是我的例子: <!doctype html> <html> <head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script>

Chrome和Safari不会触发HTML5
onpopstate
事件。 以下是我的例子:

<!doctype html> 
<html> 
    <head> 
        <title></title> 
        <script src="http://code.jquery.com/jquery-latest.js"></script> 
        <script> 
            window.onpopstate = function(e) {
                document.getElementById("log").innerHTML = "HELLO";
            }
            $(function() {
                $("a").click(function(e) {
                    e.preventDefault();
                    window.history.pushState({page: $(this).index()}, $(this).html(), $(this).attr('href'));
                });
            });
        </script> 
    </head> 
    <body> 
        <a href="new-state">Foo</a> 
        <a href="other-state">Hallo</a> 
        <div id="log"></div> 
    </body> 
</html>

window.onpopstate=函数(e){
document.getElementById(“log”).innerHTML=“HELLO”;
}
$(函数(){
$(“a”)。单击(功能(e){
e、 预防默认值();
window.history.pushState({page:$(this.index()},$(this.html(),$(this.attr('href'));
});
});
window.onpopstate()
应在初始页面加载时触发,该加载被视为历史遍历。请参阅,这已在最近的WebKit构建中得到解决。(您可以按照Chrome 7.0.517.44中的设计编写HELLO输出代码,可能在下一版本的Safari中也会这样做。)

有关更多讨论和链接,请参见。

他们做了更多更改:此答案不再正确。