A-A+

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

2016年01月27日 web前端设计 暂无评论 阅读 7 views 次

chrome,IE8,ie9中同步(sync)方式的ajax导致dom更新滞后解决,有需要的朋友可参考一下,当使用sync方式的ajax加载时会导致dom操作被挂起,有此问题的浏览器有chrome,IE8,9等,未详测.

举例,代码如下:

  1. dialog = new Dialog({}).open();  
  2. // sync方式的ajax  
  3. $.ajax({  
  4.    url: "some/url",  
  5.     async: false// load data with sync call  
  6.     // other params  
  7. });  

以上代码中,dialog是个对话框对象,正常情况下应该是先弹出对话框,然后执行ajax,但这个地方ajax使用了sync方式就会出现只有在ajax请求结束后才弹出框的问题(dom更新是需要时间的,在此可以看出某些浏览器中其优先级低于sync方式的ajax)。

解决方法有二:

1.给sync的ajax设置timeout,比如10ms.

2.使用async(异步)方式

标签:

给我留言