jquery弹出dialog空白问题

      最近开发过程中,碰到一个很奇怪的问题,觉得值得记录,所以特此记录一下。


     一:问题描述:

             在某一个页面点击设置,弹出一个设置的dialog页面,在这个页面的第二个页签再用easyui弹出dialog时,发现没弹出框来,而且再点击页面,没有反应,但浏览器没有卡死的现象。测试环境没反应,检查开发环境又没问题,后台日志不报错,点击下一页查询后,测试环境再点也可以弹框,再没有反应情况下,按f12也可以弹框,点击查看浏览器源,页面似乎已有三层。

           综上所述:页面只是在第一次load的外层数据的时候,再去点开dialog弹不出框。


     二:查找并分析原因:

            本地环境可以,本地环境的现象是加载第二个页面的第二个页签时,速度较快,本地环境数据量较少。

            测试环境不行,测试环境加载速度较慢,当前页较本地环境本页同为20条,当加载不出来时,按f12可显示框出来。


        三:比较并分析:代码层面不报错,问题不大,测试环境加载比较慢,所以不弹框,可能是网络问题,导致外层数据没加载完,点开dialog,框显示不出来,按f12又可以加载出来,可能是框已加载出来,但位置不对,按f12重新定位后,显示出来了。


         四:百度找原因:easyui加载太多数据的情况下,弹出dialog,无法渲染dialog页面,另一个情况,在有下拉框的情况下,弹框位置在框外,没显示出来。

            整理并修改测试:由于第二层页面没有下拉框,所以定位不对的可能性较小。所以有可能是用easyui加载的层次过多,数据加载速度过慢,过多了点,所以点击第三层的时候,页面未来得及渲染完成,导致未显示出来。


         五:结果:(1)将当前页显示为15条,在测试环境可正常弹开第三页dialog。

                             (2)将当前页显示为20条,添加索引提高外层的加载速度,测试环境也可正常弹开。

                              所以,easyui弹框是在外层数据过多,加载速度过慢的情况下,无法将弹开的dialog页面进行渲染。

猜你喜欢

转载自blog.csdn.net/he_cha_bu/article/details/60982568