Safari 5でpopStateがトリガーされたときにwindow.history.stateオブジェクトにアクセスできないようです(ページが戻ります)。このコードは、Chrome19とFirefox12で完全に機能します。
window.onload = function() {
window.setTimeout(function() {
var original = window.location.href;
window.addEventListener("popstate", function(e) {
if (window.history.state !== null) {
var type = window.history.state.type;
var page = window.history.state.page;
//custom Ajax function below
getContent({type:type, page:page, category: category}, '/' + type + '/' + page);
} else {
window.location = original;
}
}, false);
}, 1);
}
Safari 5のconsole.log(window.history.state)は、「undefined」を返します。