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