網(wǎng)頁設(shè)計中,總有一些公共的文件要被網(wǎng)頁調(diào)用,例如一個關(guān)于某專題的欄目、最新發(fā)布的文章、廣告文件等等。對于html網(wǎng)頁要想包含文件,你首先想到的方法是什么?肯定是通過js來調(diào)用吧。不過我覺得有的內(nèi)容是不宜使用js來調(diào)用的,就如上面提到的“一個關(guān)于某專題的欄目、最新發(fā)布的文章”等等。
js調(diào)用文件的優(yōu)缺點
網(wǎng)頁調(diào)用文件,通常的做法是通過js來實現(xiàn),尤其是html網(wǎng)頁調(diào)用文件。
js調(diào)用文件,有著自身的優(yōu)點,一是很容易維護(hù),修改一個文件,所有網(wǎng)頁都立即生效,并且不用再進(jìn)行任何重新全站生成文件或重新編譯程序;二是從SEO的角度考慮,對于一些廣告文件,必然是要通過js來調(diào)用的。
不過js調(diào)用文件,也有一些缺陷,例如js會拖慢網(wǎng)頁的加載速度,js調(diào)用的內(nèi)容會延時顯示,如果網(wǎng)絡(luò)不佳還可能顯示不出來,許多網(wǎng)頁就是因為要加載太多js文件或者某些解析比較困難的js文件而被卡住的,嚴(yán)重的還會導(dǎo)致網(wǎng)頁崩潰。另外,從SEO的角度考慮,“專題欄目、最新文章”通過js調(diào)用來實現(xiàn)肯定會影響蜘蛛的索引和內(nèi)頁權(quán)重的傳遞。
html網(wǎng)頁包含html文件的方法
要在網(wǎng)頁里包含文件,如果不想通過js來調(diào)用,動態(tài)網(wǎng)頁的話是可以輕松實現(xiàn)的,但靜態(tài)網(wǎng)頁就唯有通過js來實現(xiàn)了。也許大家有曾想過,html網(wǎng)頁能否像動態(tài)網(wǎng)頁那樣包含html文件?答案是肯定的,本文正是給大家介紹這個解決方案。
不知道大家有無了解過shtml,了解過的話就會知道,shtml文件是有包含文件的功能的,很多大型網(wǎng)站(如新浪科技頻道)的網(wǎng)頁都使用shtml后綴,而不是html后綴。還不了解shtml的話可以先看看這里:shtml的指令和實例。
現(xiàn)在我們要做的就是能否實現(xiàn)html具備shtml的功能,那樣就可以不用js就可以直接包含一個文件了。
如果我們看了如何在iis設(shè)置支持shtml的網(wǎng)頁后綴,就會想到這個方法能否移植到html的身上。
試驗開始,首先在“應(yīng)用程序配置”里添加一個html后綴名的映射,可執(zhí)行文件地址是“C:\WINDOWS\system32\inetsrv\ssinc.dll”(注意C盤是系統(tǒng)盤)。操作參考鏈接:http://howtostagehomes.com/tutorial/iis/2012/082410/。圖示如下:
iis添加html后綴名映射
測試,在html網(wǎng)頁添加包含文件代碼,如:<!--#include file="info.html"-->,訪問網(wǎng)頁,發(fā)現(xiàn)包含文件內(nèi)容已經(jīng)顯示在html網(wǎng)頁上了。
這樣,便實現(xiàn)了html網(wǎng)頁包含html文件的功能。
延伸
如果上述html后綴名的映射,可執(zhí)行文件地址改為asp的執(zhí)行文件(C:\WINDOWS\system32\inetsrv\asp.dll),那么html就具備asp的功能了,網(wǎng)站打開html文件就像打開asp文件一樣。
html后綴名映射asp執(zhí)行文件
您可能對如下文章也感興趣
aspx網(wǎng)頁包含aspx/ascx等文件的兩種寫法