1. 程式人生 > >jquery彈出dialog空白問題

jquery彈出dialog空白問題

      最近開發過程中,碰到一個很奇怪的問題,覺得值得記錄,所以特此記錄一下。

     一:問題描述:

             在某一個頁面點選設定,彈出一個設定的dialog頁面,在這個頁面的第二個頁籤再用easyui彈出dialog時,發現沒彈出框來,而且再點選頁面,沒有反應,但瀏覽器沒有卡死的現象。測試環境沒反應,檢查開發環境又沒問題,後臺日誌不報錯,點選下一頁查詢後,測試環境再點也可以彈框,再沒有反應情況下,按f12也可以彈框,點選檢視瀏覽器源,頁面似乎已有三層。

           綜上所述:頁面只是在第一次load的外層資料的時候,再去點開dialog彈不出框。

     二:查詢並分析原因:

            本地環境可以,本地環境的現象是載入第二個頁面的第二個頁籤時,速度較快,本地環境資料量較少。

            測試環境不行,測試環境載入速度較慢,當前頁較本地環境本頁同為20條,當載入不出來時,按f12可顯示框出來。

        三:比較並分析:程式碼層面不報錯,問題不大,測試環境載入比較慢,所以不彈框,可能是網路問題,導致外層資料沒載入完,點開dialog,框顯示不出來,按f12又可以加載出來,可能是框已加載出來,但位置不對,按f12重新定位後,顯示出來了。

         四:百度找原因:easyui載入太多資料的情況下,彈出dialog,無法渲染dialog頁面,另一個情況,在有下拉框的情況下,彈框位置在框外,沒顯示出來。

            整理並修改測試:由於第二層頁面沒有下拉框,所以定位不對的可能性較小。所以有可能是用easyui載入的層次過多,資料載入速度過慢,過多了點,所以點選第三層的時候,頁面未來得及渲染完成,導致未顯示出來。

         五:結果:(1)將當前頁顯示為15條,在測試環境可正常彈開第三頁dialog。

                             (2)將當前頁顯示為20條,新增索引提高外層的載入速度,測試環境也可正常彈開。

                              所以,easyui彈框是在外層資料過多,載入速度過慢的情況下,無法將彈開的dialog頁面進行渲染。