Javascript与Safari/Mac不一致

Javascript与Safari/Mac不一致,javascript,safari,Javascript,Safari,我正试图从中改编这个伟大的脚本来构建一个web应用程序。现在一切正常,但Safari/Mac在第一次单击时失败,这是由于以下原因: var first = true; $(window).bind('statechange',function(){ if ( first ) { first = false; return; }; // stuff }); 我已经在Mac和Linux上测试了nn FF和Chrome,这可以正常工作(防止在第


我正试图从中改编这个伟大的脚本来构建一个web应用程序。现在一切正常,但Safari/Mac在第一次单击时失败,这是由于以下原因:

    var first = true;
    $(window).bind('statechange',function(){
      if ( first ) { first = false; return; };
          // stuff
    });
我已经在Mac和Linux上测试了nn FF和Chrome,这可以正常工作(防止在第一次加载页面时重新加载Ajax部分),但在Safari中,它可以防止第一次用户激活的重新加载。如果我将这些部分注释掉:

    //var first = true;
    $(window).bind('statechange',function(){
  //    if ( first ) { first = false; return; };
          // stuff
    });
FF和Chrome for Mac和Linux将在加载第一页时直接重新加载Ajax位。狩猎不会

你能告诉我怎么解决这个问题吗

谢谢, 托马斯


编辑:如果您删除了;在第3行的末尾,会发生什么?另外,当您正确地关闭
.bind(
方法)时会发生什么情况?请首先通过jslint传递您的代码。另外,请指定“所有其他浏览器”,有很多。删除;不会更改任何内容和绑定()它正确关闭,我只是粘贴错误。我猜Safari不会在第一次加载页面时触发statechange。哦,我在Mac和Linux的FF和Chrome上进行了测试…
。在您的示例中,bind
不会在任何地方终止。您需要
不仅仅是
}
}
终止函数,
关闭
.bind
方法的参数,然后
结束行语句。如果您通过jslint.com运行该代码,它会告诉您这一点。我知道。我只是把代码贴错了。我使用的代码有一个正确闭合的bind(),现在这里的代码也有。