论坛首页 Web前端技术论坛

在使用类似dwz、LigerUI的插件进行布局初始化时遇到的一个性能问题(已解决)

浏览 5501 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-05-07   最后修改:2012-05-08
最近在项目中使用类似dwz、LigerUI等UI组件进行页面布局时,碰到了性能方面的问题

出现问题的测试环境:windows 7 + ie8

操作步骤:

一、编写JS在页面载入时,利用框架提供的接口对页面进行初始化
            如:DWZ.init或$('layout').ligerLayout

二、将浏览器窗口变为正常显示状态(非“最大化”、“最小化”,可以resize操作)


三、用resize操作(鼠标在边框上拖动)不断改变浏览器窗口的大小,如此
    持续3~5秒左右后浏览器进入死机无响应状态,只能“结束任务”或“关
    线程”。在改变浏览器窗口高度,尤其是由大往小变时,此问题特别明显。


经实际测试此问题在ie8上出现,ie9和firefox无此问题,ie6没有测试过。

不知道高手们在项目中有没有碰到过类似的性能问题,可有什么解决的办法?希望可以探讨一下!

此问题已经解决,解决方法如下:

将插件resize操作的执行机制由实时改为异步。通过定时扫描(我用的100毫秒)当发现浏览器窗口不再执行resize操
作时,再执行插件的resize操作重画布局。此方法需要修改布局插件的源代码。

附件是我编写的定时扫描工具,水平一般权当给大家个参考!
   发表时间:2012-05-08  
经过调试发现此问题是由布局插件的resize操作引起的!不知道有没有办法优化,论坛高手能否指点一下!
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics