Javascript Jquery popstate在Safari 7中工作不正常

Javascript Jquery popstate在Safari 7中工作不正常,javascript,jquery,html,safari,popstate,Javascript,Jquery,Html,Safari,Popstate,很难找到Safari 7的问题,但我有一个奇怪的问题。我正在使用pushstate和popstate修改我编写的ajax内容加载程序代码的浏览器历史记录。除了popstate代码之外,该代码工作正常,除了Safari 7+之外,它在所有浏览器中都能工作。适用于Safari 6及更低版本 var popped = ('state' in window.history), initialURL = location.href; $(window).bind('popstate', function(

很难找到Safari 7的问题,但我有一个奇怪的问题。我正在使用
pushstate
popstate
修改我编写的ajax内容加载程序代码的浏览器历史记录。除了
popstate
代码之外,该代码工作正常,除了Safari 7+之外,它在所有浏览器中都能工作。适用于Safari 6及更低版本

var popped = ('state' in window.history), initialURL = location.href;
$(window).bind('popstate', function(event){
var initialPop = !popped && location.href == initialURL;
popped = true;
    console.log(event.state);
if ( initialPop ) return;
var state = event.originalEvent.state;
$("#loading").show();
$('#contentwrapper').fadeOut('normal').hide().load(state.url + " #contentwrapper > *").fadeIn('slow');
$("#loading").fadeOut();
});
该脚本在所有浏览器中都能正常工作。在Safari 7中,页面加载不正确。通常隐藏的
#load
div可见,而通常可见的
#contentwrapper
div隐藏。还获取控制台错误:

TypeError: 'null' is not an object (evaluating 'state.url')

不知道它现在是否对你有帮助…safari在页面加载时最初会抛出一个弹出状态,这与其他浏览器有很大不同。。。