Jquery popstate在Safari 7中无法正常工作

时间:2014-05-25 20:51:03

标签: javascript jquery html5 safari popstate

很难找到Safari 7的问题,但我有一个奇怪的问题。我使用pushstatepopstate修改了我编写的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中,页面加载错误。通常隐藏的#loading div是可见的,并且隐藏了通常可见的#contentwrapper div。还得到控制台错误:

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

0 个答案:

没有答案