ASP.NET MVC 3サイト最適化まとめ(六)圧縮HTML
5557 ワード
htmlを圧縮すると、コードの無駄なスペースなどを取り除くことができ、Webサイトのロード速度を向上させ、帯域幅を節約することができます.今日はASP.でNET MVC 3はhtml圧縮をどのように実現するか、ActionFilterを実現することでhtmlの圧縮を完了することができます.
実は私たちはASPにいます.NET MVC 3ウェブサイト最適化総括(一)Gzip圧縮を用いたこの文章で用いられるのがこの方法であり,主に実装されたFilterAttributeクラスを見る.
使用時にActionメソッドにFilterプロパティを追加すれば、次のようになります.
著者の記事を見てみましょうNET MVC ActionFilter、私は主に以下の著者が使用する正則を修正しました.元の正則はのスペースも置き換えられ、UTF-8として符号化されるからです.
これでASP.NET MVC 3でhtmlの圧縮が実現し、WhiteSpaceFilterをダウンロードできます.rar類は自分でやってみよう!
原文住所:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-minify-html
実は私たちはASPにいます.NET MVC 3ウェブサイト最適化総括(一)Gzip圧縮を用いたこの文章で用いられるのがこの方法であり,主に実装されたFilterAttributeクラスを見る.
public class WhitespaceFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var request = filterContext.HttpContext.Request;
var response = filterContext.HttpContext.Response;
response.Filter = new WhiteSpaceFilter(response.Filter, s =>
{
s = Regex.Replace(s, @"\s+(?=<)|\s+$|(?<=>)\s+", "");
//single-line doctype must be preserved
var firstEndBracketPosition = s.IndexOf(">");
if (firstEndBracketPosition >= 0)
{
s = s.Remove(firstEndBracketPosition, 1);
s = s.Insert(firstEndBracketPosition, ">");
}
return s;
});
}
}
使用時にActionメソッドにFilterプロパティを追加すれば、次のようになります.
[WhitespaceFilter]
public ActionResult Index(string id)
{
return View();
}
著者の記事を見てみましょうNET MVC ActionFilter、私は主に以下の著者が使用する正則を修正しました.元の正則はのスペースも置き換えられ、UTF-8として符号化されるからです.
これでASP.NET MVC 3でhtmlの圧縮が実現し、WhiteSpaceFilterをダウンロードできます.rar類は自分でやってみよう!
原文住所:http://www.lidongkui.com/asp-net-mvc-3-website-optimization-summary-minify-html