龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

chrome,IE8,ie9中同步(sync)方式的ajax导致dom更新滞后解决方法

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
chrome,IE8,ie9中同步(sync)方式的ajax导致dom更新滞后解决 有需要的朋友可参考一下。 当使用sync方式的ajax加载时会导致dom操作被挂起,有此问题的浏览器有chrome,IE8,9等(未详测), 举例
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(异步)方式


精彩图集

赞助商链接