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(),现在这里的代码也有。