回覆列表
-
1 # 使用者9241081762829
-
2 # 使用者9147460208505
可以實現,但它的效果與你想象中肯定會不一樣,iframe是框架,載入的頁面是以完整的、獨立的、新的網頁形式出現的,與當前網頁沒有直接關係;而如果把網頁內容直接放到當前網頁的div中,就會成為當前網頁的一部分,與當前網頁的html、css、js等都會產生衝突的。下面是程式碼:
載入根目錄a.html載入根目錄b.html
首先要明白iframe的應用場景,iframe並不是不能用,而是不能濫用。在資料提交上iframe相比ajax能夠提供更高的穩定性以及相容度,因此在這方面使用一下無妨;同時iframe的作用是內嵌網頁,如果需要引用別的網頁做說明,iframe也是必要的。但是,利用內嵌網頁的方式引入固定的內容是完全錯誤地!雖然現在很多開源程式的後臺仍在使用這種做法,這不過是開發者偷懶的手段而已,在前臺應用中應極力避免這種做法,無論是對使用者還是對搜尋引擎的友好度這種做法都是極傻。回到問題來,題主你竟然不知道可以通過後端引入公用模組的方式讓頁面某一區域內容固定!!!將導航欄的內容抽離成一個模板,通過後端引入再和本頁的內容拼接輸出,這是後端新手都應該懂的常識來的吧←_←使用後端引入的話,每次頁面開啟導航區和內容區都是一併載入的,實現的效果和你在每個頁面都複製一個導航區是一樣的。只是在程式碼上檔案被拆分方便管理而已。請不要在意每次都要重新載入導航區,那一點程式碼產生的頻寬資源佔用和你頁面上的圖片以及JQ庫比起來算不了什麼。題主想的方式是使用ajax讀取每個頁面的內容並填充到內容區。這麼做並無不妥,但是做法也忒蛋疼了點,還不如直接用iframe引用導航欄。ajax是不應該被濫用,在一些互動上使用ajax避免頁面整體重新整理減少請求量是一種很方便的做法,但是頁面切換也用ajax那就是2B做法了。至於高度自適應的問題,可以透過JS來做,在頁面ready的時候判斷內容區元素的高度是否未填充滿,不滿則設定到$(window).height()。最後,從問題也看出題主的知識面太散,沒有系統地學習過,還是靜下心來挑幾本書好好看看吧。