用html如何把頁面分割成多個檔案,由多個檔案拼接而成?
不同平臺:pc端靜態html分割頁面,達到類似php等動態頁面的include引入頁面效果;手機端單一HTML5頁面建立多個頁面。
用html把首頁分成三個檔案 |
在PHP、JSP等動態頁面開發中,頁面裡引入其它頁面只需include()進來就可以實現頁面的分離。
如果用HTML,可以實現頁面的分割嗎?答案是肯定的!
兩種方法:
一、通過iframe巢狀頁面
這個方法不介紹啦,用的很普遍
二、通過AJAX方法load載入頁面
通過jQuery的load()方法載入頁面
假設有四個頁面:index.html、page1.html、page2.html、page3.html,其中首頁index.html頁面由page1、page2、page3.html的三個頁面拼接而成。
index.html頁面的主要程式碼(含js):
- <divid="page1"></div>
- <divid="page2"></div>
- <divid="page3"></div>
- $(function(){
- $('#page1').load('page1.html');
- $('#page2').load('page2.html');
- $('#page3').load('page3.html');
- })
jquery的load()方法:載入遠端
HTML 檔案程式碼並插入至 DOM 中,預設使用GET方式 load(url,data,callback) 引數說明: url:待裝入 HTML 網頁網址。 data:傳送至伺服器的 key/value 資料。在jQuery 1.3中也可以接受一個字串了。 callback:載入成功時回撥函式。 |
page1.html頁面的主要程式碼:
- <h1style="border:1px solid red; width:498px; height:40px; line-height:40px; text-align:center;
- background-color:#ddd">我是頁面1</h1>
page2.html頁面的主要程式碼:
- <h1style="float:left;border:1px solid red; width:248px; height:140px; text-align:center;
- background-color:#ddd">我是頁面2</h1>
page3.html頁面的主要程式碼:
- <h1style="float:left;border:1px solid red; width:248px; height:140px; text-align:center;
- background-color:#eee">我是頁面3</h1>
重要說明
通過load()方法載入的頁面,需要控制好css樣式,這樣才能達到完整的頁面顯示效果。
可以先在一個頁面裡寫好html+css,然後再分離出去,最後用load()載入進來即可!
另外,通過js追加進來的DOM結構,對SEO(搜尋引擎優化)有影響,類似百度蜘蛛是無法抓取的!一般情況下不到萬不得已的時候,不推薦使用。
移動端單一HTML建立多個頁面的方法
可能你想要的不是以上這種效果,而是基於移動端的。比如基於移動框架jquery.mobile開發的,那麼在單一 HTML 檔案中建立多個頁面的方法:
- <divdata-role="page"id="pageone">
- <divdata-role="content">
- <ahref="#pagetwo">轉到頁面二</a>
- </div>
- </div>
- <divdata-role="page"id="pagetwo">
- <divdata-role="content">
- <ahref="#pageone">轉到頁面一</a>
- </div>
- </div>
注意屬性data-role="page"的元素要與a連結中的錨點名稱一致!這樣就能實現一個HTML裡切換多個頁面啦!