网络编程
位置:首页>> 网络编程>> ASP.NET>> 合并网页中的多个script引用实现思路及代码

合并网页中的多个script引用实现思路及代码

  发布时间:2023-06-29 09:02:19 

标签:合并,script引用

为了更好的进行封装,每个实现不同功能的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:\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;
}
}
}


配置文件中添加节点


<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>


页面调用


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


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

0
投稿

猜你喜欢

  • 在Oracle 8i版本之前,使用internal用户来执行数据库的启动和关闭以及create database等操作;从8i版本以后,Or
  • 同MongoDB,Redis这样的NoSQL数据库的复制相比,MySQL复制显得相当复杂!概述首先主服务器把数据变化记录到主日志,然后从服务
  • 昨天美国雅虎正式宣布网站首页的新版,这也算互联网一件大事,尤其是对设计的朋友们。而且现在的美国雅虎的情况也不是很好的情况下有大刀阔斧的进行改
  • 很佩服国外一些前端开发人员对待学问的研究精神,他们很善于总结发现。看到一篇关于安全字体List of Web Safe Fonts的文章,里
  • 有个简单的方法,使用display:table, display:table-row and display:table-cell 就可以实
  • 阅读上一篇:FrontPage XP设计教程1——站点初建与管理接下来的工作就是读者朋友们最为关心的网页的制作和编辑了。我们知道,一个站点是
  • 位运算,赋值状态时异或对应位数1的整形,判断状态则与运算对应位数1的整形。最大用处就是同时判断32位状态,节省存储空间,便于扩展, 
  • 企业管理器中没有改数据库名的功能,如果一定要用企业管理器来实现,你可以备份数据库,然后还原,在还原时候可以指定另一个库名,然后再删除旧库就行
  • PDO::execPDO::exec — 执行一条 SQL 语句,并返回受影响的行数(PHP 5 >= 5.1.0, PECL pdo
  • 写了一个小巧的jquery拾色工具,代码简单得不得了,只有这么几行:(function($){ $.fn.pickColor=fu
  • 在整个产品设计的过程中,视觉设计与交互设计的“工序”非常紧密,两者关系也是相辅相成,互相影响。而视觉界面作为最直接与用户交流的层面,如何把交
  • 一个不错的文字放大特性源码。效果图:运行代码框<script for=document event=onmousemove>//
  • 如何用表单的方式推送请求的信息?具体见下:<html><head><title>答复用户信息 
  • 第一类人,用户体验无所不能。第二类人,用户体验无所不包括。第三类人,用户体验只是指导思想。用户研究通常是做创新的工作,也就注定只少数有财力、
  • 仿google的asp分页代码index.asp(文件1)<%@LANGUAGE="VBSCRIPT" CODEP
  • myisam_max_[extra]_sort_file_size足够大delay_key_write减少io,提高写入性能bulk_ins
  • 最近论坛里总有人问幻灯片怎么从数据库里取数据,花了几分钟简单的写了下。用到的人可以自己在细化<%dim rs,sqlset&
  • parent.html  中的代码为:<iframe marginwidth="0"
  • 阅读上一篇:一个完美网站的101项指标.第六部分.性能 符合 W3C 标准是网站的发展趋势,目前,几乎所有的浏览器都使用 W3C 标准,W3
  • 做个性休闲类项目课程材料,对这方面要求多一些,要总结方法、手法、想法等等,头大了;这里总结了一个做个性字体设计的方法,分享一下;方法是比较简
手机版 网络编程 asp之家 www.aspxhome.com