layui打開iframe窗口不刷新的問題

這個問題可能是我工作以來,最死磕不算bug的一個了,晚上熬夜到三點鐘,終於找到了解決的辦法。

問題所在,我所用的layui後臺管理系統的框架是之前遺留下來的,2017年的版本,iframe窗口不刷新的問題,也就是框架本身的緩存問題,現在layui針對這一問題已經升級版本,就不存在問題了。

先說一下要修改的地方:點擊左側的菜單欄(即打開一個新的iframe層頁面),第一次打開的窗口會刷新,但是再次點擊左側菜單的時候就不會刷新了,每次這個頁面獲取到新的數據,iframe窗口裏面都是有緩存的,都需要手動F5刷新纔會更新,因此帶來不便。

改爲:每次點擊左側菜單,都會觸發一次刷新事件。

解決辦法:打開tab.js文件
1:在配置裏面添上

autoRefresh:true

2:寫自動刷新的代碼

if(_config.autoRefresh) {
                     _config.elem.find('div.layui-tab-content > div').eq(tabIndex).children('iframe')[0].contentWindow.location = data.href;
                    /*_config.elem.find('div.layui-tab-content > div').eq(tabIndex).children('iframe')[0].contentWindow.location.reload();*/
                }

ok,重新啓動項目的時候,會發現緩存的問題已經解決。


原文作者:祈澈姑娘 技術博客:https://www.jianshu.com/u/05f416aefbe1
90後前端妹子,愛編程,愛運營,文藝與代碼齊飛,魅力與智慧共存的程序媛一枚。
堅持總結工作中遇到的技術問題,堅持記錄工作中所所思所見,對於博客上面有不會的問題,可以加入qq技術交流羣聊:649040560。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章