網站的頭尾部分和導航部分的處理技巧
發表日期:2015-11-10 文章編輯:南昌開優網絡 瀏覽次數:4545 標簽:網站制作
一個網站各個頁面的相同之處莫過于頭部、導航、尾部,每一個程序手都知道代碼重用性的好處。如果我們把這些文件都做成公用文件,那么將大大節省了維護成本。
大型網站的頭尾部分和導航部分一般都會做成靜態的公用文件。
尾部文件footer塊的內容是關于、聯系方式、版權等內容,直接做成靜態文件便可。
頭部文件header和導航menubar往往有兩種狀態。用戶未登錄狀態,顯示的內容是注冊、登錄等內容。用戶已登錄狀態,顯示內容有“歡迎你,某某”、未讀消息數等。還有一些特別的導航鏈接也不一樣,比如“會員中心”的鏈接,未登錄時鏈到登錄頁面,而已登錄狀態則鏈到會員中心首頁。
我們已將這些塊做成了靜態文件,那么怎么處理這兩種狀態呢?剩下只能使用js來控制。在登錄頁面,當驗證用戶登錄成功時向用戶電腦寫入cookie,比如用戶呢稱用戶ID等信息。如此我們就可以寫一段JS讀取之前寫入的cookie,如果用戶信息存在就說明用戶已登錄,再根據返回的結果以JS動態更改頭部文件及導航的內容。這樣兩種狀態就實現了。
另外要說一點,這之中可能會涉及其它一些問題。
大型網站往往有很多二級域名,這些二級域名之間要共用頭尾文件,那么就存在了跨域問題。
跨域讀取cookie,這個解決辦法很簡單,只要在寫入cookie時設置domain為根域名xxx.com,這樣所有的二級域都可訪問了,甚至三級域名也行。
這些公用文件一般采用include的包含方式加入到各頁面中,但是這種包含只能包含本域名下的文件,那么其它二級域名如何共用一個文件呢?這里又涉及了跨域問題,可以對服務器設置虛擬目錄或虛擬路徑。比如真實頭尾文件存在www.xxx.com/inc下,yy.xxx.com域名下的頁面怎么包含www.xxx.com/inc的文件呢?可以在yy.xxx.com下開一個虛擬目錄指向www.xxx.com下相應的/inc目錄。這樣就做成了重用性,改一個www.xxx.com/inc下的文件,所有其它域名/inc下相應文件也隨之更新了。