一些不经意的设置总能引发奇奇怪怪的现象,总结一下。

checkpoint 1

async: false

n多问题的始作俑者,例如layer.load()弹出加载层后调用了$.ajax({async:false, ...}),结果加载层在ie10下没出来,firefox和部分ie8没问题。究其原因,是因为加载层还没来得急弹出来,就同步提交了,然后浏览器就不响应了,加载层没机会出来了,然后就没有然后了。一个workaround是延迟1秒提交:

layerId = top.layer.load(0);
setTimeout(function (){
   $.ajax({async:false, ...});
}, 1000);

当然,指定async: true最好了。


(to be continued ...)