A-A+
chrome,IE8,ie9中同步(sync)方式的ajax导致dom更新滞后解决方法
chrome,IE8,ie9中同步(sync)方式的ajax导致dom更新滞后解决,有需要的朋友可参考一下,当使用sync方式的ajax加载时会导致dom操作被挂起,有此问题的浏览器有chrome,IE8,9等,未详测.
举例,代码如下:
- dialog = new Dialog({}).open();
- // sync方式的ajax
- $.ajax({
- url: "some/url",
- async: false, // load data with sync call
- // other params
- });
以上代码中,dialog是个对话框对象,正常情况下应该是先弹出对话框,然后执行ajax,但这个地方ajax使用了sync方式就会出现只有在ajax请求结束后才弹出框的问题(dom更新是需要时间的,在此可以看出某些浏览器中其优先级低于sync方式的ajax)。
解决方法有二:
1.给sync的ajax设置timeout,比如10ms.
2.使用async(异步)方式