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