佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 合并網(wǎng)頁中的多個(gè)script引用實(shí)現(xiàn)思路及代碼

合并網(wǎng)頁中的多個(gè)script引用實(shí)現(xiàn)思路及代碼

熱門標(biāo)簽:服務(wù)器配置 Mysql連接數(shù)設(shè)置 電子圍欄 Linux服務(wù)器 阿里云 團(tuán)購網(wǎng)站 科大訊飛語音識別系統(tǒng) 銀行業(yè)務(wù)
為了更好的進(jìn)行封裝,每個(gè)實(shí)現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個(gè)網(wǎng)頁中引用了多個(gè)js文件,如下
復(fù)制代碼 代碼如下:

script type="text/javascript" src="limit.js">/script>
script type="text/javascript" src="select.js">/script>
script type="text/javascript" src="rating.js">/script>

這樣網(wǎng)頁會向服務(wù)器發(fā)送3個(gè)請求,請求3個(gè)js文件,其實(shí)完全沒有必要發(fā)這么多的請求,一個(gè)足矣,下面就來介紹如何用Handler實(shí)現(xiàn)
新建一個(gè)HttpHandler
復(fù)制代碼 代碼如下:

public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{//原文鏈接:blog.csdn.net/bluceyoung
string[] js = context.Request.Url.LocalPath.Substring(1, context.Request.Url.LocalPath.Length - 5).Split('.');
StringBuilder sb = new StringBuilder();
foreach (string j in js)
{
sb.Append(ReadFile(j+".js"));
}
context.Response.Write(CompressStr(sb));
}
private string ReadFile(string fileName)
{
string directory = @"D:\SRC\bluceyoung\";
if (!File.Exists(directory + fileName))
{
return "";
}
string result;
using (FileStream fs = new FileStream(directory + fileName, FileMode.Open))
{
using (StreamReader sr = new StreamReader(fs))
{
result = sr.ReadToEnd();
}
}
return result;
}
private string CompressStr(StringBuilder sb)
{
while (true)
{
int length = sb.Length;
sb.Replace(" ", " ");
if (length == sb.Length)
break;
}
sb.Replace("\r\n", "").Replace("\t", "").Replace("; ", ";").Replace(" }", "}").Replace("} ", "}").Replace(" ;", ";").Replace(" {", "{").Replace("{ ", "{");
return sb.ToString();
}
public bool IsReusable
{
get
{
return false;
}
}
}

配置文件中添加節(jié)點(diǎn)
復(fù)制代碼 代碼如下:

configuration>
system.web>
compilation debug="true" targetFramework="4.0" />
httpHandlers>
add path="*.jsx" verb="*" type="BluceYoung.Handler1"/>
/httpHandlers>!--原文博客:blog.csdn.net/bluceyoung -->
/system.web>
/configuration>

頁面調(diào)用
復(fù)制代碼 代碼如下:

script src="limit.select.rating.jsx" type="text/javascript">/script>

就這樣,一個(gè)script引用就完成了多個(gè)js文件的請求,并且對文件進(jìn)行了壓縮處理

標(biāo)簽:大理 萍鄉(xiāng) 蚌埠 廣元 江蘇 衡水 衢州 棗莊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《合并網(wǎng)頁中的多個(gè)script引用實(shí)現(xiàn)思路及代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    察哈| 勐海县| 阳朔县| 门头沟区| 吴江市| 利辛县| 昌平区| 青神县| 茌平县| 金秀| 象山县| 云龙县| 万年县| 车致| 霍州市| 汨罗市| 绥棱县| 蓝山县| 桐城市| 永胜县| 隆子县| 澎湖县| 浙江省| 尤溪县| 周口市| 宁国市| 栖霞市| 涟水县| 静安区| 庄河市| 方山县| 靖远县| 虎林市| 永新县| 中宁县| 漳州市| 洛川县| 东阳市| 广昌县| 巫山县| 桃园市|