Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
One difference between good and bad code are comments. Good programmers tend to comment their code to make it readable for themselves (the next day ;-) ) or for other programmers (*).
There are situations though where one doesn't want comments to show up - like in an ASP.NET Web Application. Imagine the following simple app.
<head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> // This function does something // incredible :-) function DoSomethingIncredible() { alert('Hallo'); } </script> </head> <body onload="DoSomethingIncredible()"> <form id="form1" runat="server"> <div>
<asp:Label ID="Label1" runat="server" Text="Label" /><br /> <!-- Don't need this currently but am not sure if I need it in the future... You get my point ;-) <asp:Label ID="Label2" runat="server" Text="Label" /> --> </div> </form> </body> |
Unfortunately the comments will be send down to the client together with the remaining markup.
<head><title> Untitled Page</title> <script type="text/javascript"> // This function does something // incredible :-) function DoSomethingIncredible() { alert('Hallo'); } </script></head><body onload="DoSomethingIncredible()"> <form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJOTAxMzgwODE5ZGQvR1v+z54Nn929OgLm6cscsg/+iQ==" /></div> <div> <span id="Label1">Label</span><br /> <!-- Don't need this currently but am not sure if I need it in the future... You get my point ;-) <span id="Label2">Label</span> --> </div> </form></body> |
Fortunately ASP.NET supports a little known feature called “server-side comments” (<%-- --%>) which removes comments on the server. Check out the enhanced code...
<head runat="server"> <title>Untitled Page</title> <script type="text/javascript"> <%-- // This function does something // incredible :-) --%> function DoSomethingIncredible() { alert('Hallo'); } </script> </head> <body onload="DoSomethingIncredible()"> <form id="form1" runat="server"> <div>
<asp:Label ID="Label1" runat="server" Text="Label" /><br /> <%-- Don't need this currently but am not sure if I need it in the future... You get my point ;-) <asp:Label ID="Label2" runat="server" Text="Label" /> --%> </div> </form> </body> |
...together with the new output (behold the missing comments...). Pretty sweet, eh?
<head><title> Untitled Page</title> <script type="text/javascript"> function DoSomethingIncredible() { alert('Hallo'); } </script></head><body onload="DoSomethingIncredible()"> <form name="form1" method="post" action="Default.aspx" id="form1"><div><input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODExMDE5NzY5ZGTf9XGSwEVcluDmIxIb9pffNJ3tXg==" /></div> <div> <span id="Label1">Label</span><br /> </div> </form></body> |
Enjoy!
Daniel
* O.K. Fair enough. This statement only holds true for the somewhat good programmers. The really 1337 programmers naturally don't need no 1@m3 comments ;-)
Comments
Anonymous
January 14, 2008
PingBack from http://geeklectures.info/2008/01/14/server-side-comments-or-how-to-automatically-remove-htmljavascript-comments-from-websites/Anonymous
January 15, 2008
Server Side Comments or how to automatically remove HTML/JavaScript comments from websites ...