報道公司事件 · 傳播行業動態
首先要明白iframe的應用場景,iframe并不是不能用,而是不能濫用。
在數據提交上iframe相比ajax能夠提供更高的穩定性以及兼容度,因此在這方面使用一下無妨;
同時iframe的作用是內嵌網頁,如果需要引用別的網頁做說明,iframe也是必要的。
但是,利用內嵌網頁的方式引入固定的內容是完全錯誤地!雖然現在很多開源程序的后臺仍在使用這種做法,這不過是開發者偷懶的手段而已,在前臺應用中應極力避免這種做法,無論是對用戶還是對搜索引擎的友好度這種做法都是極傻。
回到問題來,題主你竟然不知道可以通過后端引入公用模塊的方式讓頁面某一區域內容固定!!!將導航欄的內容抽離成一個模板,通過后端引入再和本頁的內容拼接輸出,這是后端新手都應該懂的常識來的吧←_←
使用后端引入的話,每次頁面打開導航區和內容區都是一并加載的,實現的效果和你在每個頁面都復制一個導航區是一樣的。只是在代碼上文件被拆分方便管理而已。請不要在意每次都要重新加載導航區,那一點代碼產生的帶寬資源占用和你頁面上的圖片以及JQ庫比起來算不了什么。
題主想的方式是使用ajax讀取每個頁面的內容并填充到內容區。這么做并無不妥,但是做法也忒蛋疼了點,還不如直接用iframe引用導航欄。ajax是不應該被濫用,在一些交互上使用ajax避免頁面整體刷新減少請求量是一種很方便的做法,但是頁面切換也用ajax那就是2B做法了。
至于高度自適應的問題,可以通過JS來做,在頁面ready的時候判斷內容區元素的高度是否未填充滿,不滿則設置到$(window).height()。