最近在研究extjs,界面相当的华丽啊,但是初次加载它的js真的会要人命啊,压缩版也要600多K
先去下载个gzip.exe,搜索一下就能得到的. 在cmd下输入gzip.exe js文件名
就会得到一个gz扩展名的js的压缩文件了
放到js同级目录下,接下来我们让aspx输出这个压缩文件
protected void Page_Load(object sender, EventArgs e)
{
string js = Request["n"];
if (!string.IsNullOrEmpty(js))
{
string filename = MapPath("~/" + js);
string filename_gzip = filename + ".gz";
if (IsEncodingAccepted("gzip", Context))
{
Response.AppendHeader("Content-encoding", "gzip");
Response.WriteFile(filename_gzip);
}
else
{
Response.AppendHeader("Content-encoding", "text/html");
Response.WriteFile(filename);
}
Response.End();
}
}
public bool IsEncodingAccepted(string encoding, System.Web.HttpContext context)
{
if (context != null)
return context.Request.Headers["Accept-encoding"] != null && context.Request.Headers["Accept-encoding"].Contains(encoding);
return false;
}
public void SetEncoding(string encoding, System.Web.HttpContext context)
{
if (context != null)
context.Response.AppendHeader("Content-encoding", encoding);
}
调用:
<script src=”js.aspx?n=lib/extjs/ext-all.js”></script>
aspx的头信息里已经包含了gzip的信息了,IE5.5以上,火狐都支持gzip的解压缩
感谢软件定制开发