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