最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:41:45
文檔

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

合并網(wǎng)頁中的多個script引用實現(xiàn)思路及代碼:為了更好的進行封裝,每個實現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個網(wǎng)頁中引用了多個js文件,如下 代碼如下:<script type=text/javascript src=limit.js></script> <script type=text/j
推薦度:
導(dǎo)讀合并網(wǎng)頁中的多個script引用實現(xiàn)思路及代碼:為了更好的進行封裝,每個實現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個網(wǎng)頁中引用了多個js文件,如下 代碼如下:<script type=text/javascript src=limit.js></script> <script type=text/j

為了更好的進行封裝,每個實現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個網(wǎng)頁中引用了多個js文件,如下
代碼如下:

<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個請求,請求3個js文件,其實完全沒有必要發(fā)這么多的請求,一個足矣,下面就來介紹如何用Handler實現(xiàn)
新建一個HttpHandler
代碼如下:

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é)點
代碼如下:

<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)用
代碼如下:

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

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

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

合并網(wǎng)頁中的多個script引用實現(xiàn)思路及代碼:為了更好的進行封裝,每個實現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個網(wǎng)頁中引用了多個js文件,如下 代碼如下:<script type=text/javascript src=limit.js></script> <script type=text/j
推薦度:
標(biāo)簽: 多個 網(wǎng)頁 代碼
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top