最近項目要用ExtJs4.0,首頁框架點擊菜單要動態加載響應頁面,在網上找了一些資料,發現有兩種方式實現,一種是通過autoload加載頁面,一種是在iframe中通過url請求響應頁面,可以說這兩種方法各有優點,但我比較傾向與通過autoload的方式來加載。
這兩種方法的實現如下:
iframe方法:
在顯示區域的html后跟一個iframe。html:' <iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="'+url+'"> </iframe>'。
那個url是傳過來的連接,可以是一個頁面也可以是一條參數,如a.jsp或者user.do?o=toList,這樣就可以直接把你要的頁面加載進來,而且你對加載進來的頁面進行操作是不是更新整個頁面的,而只是更新你加載進來的頁面。
通過 <iframe>這個元素加載網頁進來的好處是比較方便操作,也比較容易理解,而且可以自己通過樣式文件控制響應頁面的樣式。但這種方式有一個很大的缺點就是每次請求都要重新載入ext-all.js這個文件,這樣就大大增加了相應事件,ExtJs的速度本來就飽受詬病,如果再用這種方式來請求速度就會收到很大影響。
autoload方法:
autoload{url:aimUrl,scripts:true}
這種方式請求的好處是不用每次請求一個頁面都載入一次ext-all.js,而是在加載首頁的時候引入ext-all.js之后就不需要再加載該文件,這樣就大大降低了系統開銷,提升了響應速度,因此我比較推薦使用這種方式來加載響應頁面。但是需要注意用autoLoad加載頁面后,被加載的頁面和原來頁面上的變量會沖突,即兩個頁面如果變量命名一樣的話,后面的會把前面的替代。
以上只是自己最近學習的一點心得,水平有限,理解不一定正確,歡迎大家一起討論。