![]() |
Web Development »
ASP.NET »
General
Advanced
js file Compressor for ASP.Net applicationsBy asithangaeCompress Javascript file, |
Javascript, XML.NET 2.0, WinXP, Win2003, .NET 3.0, .NET 3.5, ASP.NET, WebForms, Ajax, VS2005, VS2008, Dev
|
||||||||
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
Compress js file while rendering by browser
Download the code, and build the dll.
Create a WebSite, or Add a reference of the dll to the WebSite.
In Web.Config file a new httpHandler in HttpHandlers Section.
<add verb="*" path="*.js" validate="false" type="ClassLibrary1.Handler, ClassLibrary1, Version=1.0.0.0, Culture=neutral" />
That's all, rest of the work will be done by our Handler.
Let us see how it works,
Basically the HttpHandlers are used to handle the request of the WebApplication.
This Handler is to handle the javascript file.
it removes the white spaces, new line characters, inline comments and multiline comments.
the Handlers class is inherited from the IHttpHandler Interface, it implements ProcessRequest method.
//Getting the script file name from request Uri url = context.Request.Url; string filename = url.Segments[url.Segments.Length-1]; //Creating a file stream to read the script file. FileStream fs = new FileStream(context.Server.MapPath(filename), FileMode.Open); StreamReader sr = new StreamReader(fs); string js = sr.ReadToEnd(); string a = string.Empty , b = string.Empty; //Removing the single line comments while (js.IndexOf("//")!=-1) { a = js.Substring(0, js.IndexOf("//")); b = js.Substring(js.IndexOf("\r\n", js.IndexOf("//"))); js = a+b; } //Removing multiline comments while (js.IndexOf("/*") != -1) { a = js.Substring(0, js.IndexOf("/*")); b = js.Substring(js.IndexOf("*/", js.IndexOf("/*"))+2); js = a + b; } //To Remove Blank spaces js = js.Replace(" ", string.Empty); //To remove Carrige retun and new line character js = js.Replace("\r", string.Empty); js = js.Replace("\n", string.Empty); //Flushing it in response context.Response.Write(js); //Closing the resourses used sr.Close(); fs.Close(); sr.Dispose(); fs.Dispose();
This makes the file compressed, and if any intruder tries to access your code, he will feel difficult to trace back the functionalities since the indentation and comments are missing. But still he can do it if he have patience:).
| You must Sign In to use this message board. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 6 Nov 2007 Editor: |
Copyright 2007 by asithangae Everything else Copyright © CodeProject, 1999-2009 Web17 | Advertise on the Code Project |