手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >合并网页中的多个script引用实现思路及代码
合并网页中的多个script引用实现思路及代码
摘要:为了更好的进行封装,每个实现不同功能的js代码应该有自己的js文件,这样如果一个网页中引用了多个js文件,如下复制代码代码如下:这样网页会向...

为了更好的进行封装,每个实现不同功能的js代码应该有自己的js文件,这样如果一个网页中引用了多个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>

这样网页会向服务器发送3个请求,请求3个js文件,其实完全没有必要发这么多的请求,一个足矣,下面就来介绍如何用Handler实现

新建一个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:SRCbluceyoung";

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("rn", "").Replace("t", "").Replace("; ", ";").Replace(" }", "}").Replace("} ", "}").Replace(" ;", ";").Replace(" {", "{").Replace("{ ", "{");

return sb.ToString();

}

public bool IsReusable

{

get

{

return false;

}

}

}

配置文件中添加节点

复制代码 代码如下:

<configuration>

<system.web>

<compilation debug="true" targetFramework="4.0" />

<httpHandlers>

<add path="*.jsx" verb="*" type="BluceYoung.Handler1"/>

</httpHandlers><>

</system.web>

</configuration>

页面调用

复制代码 代码如下:

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

就这样,一个script引用就完成了多个js文件的请求,并且对文件进行了压缩处理

【合并网页中的多个script引用实现思路及代码】相关文章:

asp.net 多字段模糊查询代码

asp.net小孔子cms中的数据添加修改

ASP.Net 图片存入数据库的实现代码

asp.net(c#) RSS功能实现代码

.NET实现在网页中预览Office文件的3个方法

AspNetPager与Socut.Data使用实例代码

Asp.net(C#)实现验证码功能代码

asp.net下常用的加密算法MD5、SHA-1应用代码

asp.net下利用JS实现对后台CS代码的调用方法

asp.net 购物车实现详细代码

精品推荐
分类导航