1

Safari 7 の問題を見つけるのは難しいですが、奇妙な問題が 1 つあります。私が書いた ajax コンテンツ ローダー コードのブラウザー履歴を変更するためにpushstateとを使用しています。コードは、 Safari 7+ を除くすべてのブラウザーで機能popstateするコードを除いて、正常に機能します。Safari 6 以前では問題なく動作します。popstate

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 では、ページが正しく読み込まれません。通常は非表示の#loadingdiv が表示され、通常は表示される#contentwrapperdiv が非表示になります。また、コンソールエラーが発生します:

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

0 に答える 0