<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>Blogging Developer</title>
    <description>Tips &amp; Tricks &amp; Tutorials on Web Development(ASP.NET/JavaScript/C#) | Search Engine Optimization(SEO) | Online Marketing</description>
    <link>http://www.bloggingdeveloper.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.5.1.18</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.bloggingdeveloper.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.bloggingdeveloper.com/syndication.axd</blogChannel:blink>
    <dc:creator>Blogging Developer</dc:creator>
    <dc:title>Blogging Developer</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/bloggingdeveloper" type="application/rss+xml" /><feedburner:emailServiceId>bloggingdeveloper</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
      <title>LightBox for Videos - CeeBox: jQuery Plugin for Displaying Flash Videos with an Overlay</title>
      <description>&lt;p&gt;&lt;strong&gt;Videobox &lt;/strong&gt;is a small script that enables showing videos from &lt;strong&gt;YouTube&lt;/strong&gt;, &lt;strong&gt;MetaCafe &lt;/strong&gt;and&lt;strong&gt; Google Video&lt;/strong&gt; on the page with an &lt;strong&gt;overlay&lt;/strong&gt;. Unfortunately, this &lt;strong&gt;Lightbox for Videos&lt;/strong&gt; is written for&lt;strong&gt; mootools library&lt;/strong&gt;.&amp;nbsp;In order to &lt;strong&gt;display flash on an overlay&lt;/strong&gt; within the page, &lt;strong&gt;VideoBox &lt;/strong&gt;isn't the option for&lt;strong&gt; jQuery Framework users&lt;/strong&gt;. On the other hand, jQuery plugin &lt;strong&gt;Thickbox &lt;/strong&gt;is nice but doesn't work with &lt;strong&gt;flash movies&lt;/strong&gt;. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CeeBox &lt;/strong&gt;creates a &lt;strong&gt;lightbox-like overlay&lt;/strong&gt; for &lt;strong&gt;images&lt;/strong&gt;, &lt;strong&gt;image&lt;/strong&gt;, &lt;strong&gt;html via ajax and iframe&lt;/strong&gt;, and &lt;strong&gt;flash movies&lt;/strong&gt;. &lt;strong&gt;CeeBox &lt;/strong&gt;is an easy-to-use plugin: videos will be displayed in a &lt;strong&gt;popup simply by adding "ceebox" to a link&lt;/strong&gt; (for example: to a YouTube movie page link). CeeBox supports popups for &lt;strong&gt;Google Video&lt;/strong&gt;, &lt;strong&gt;YouTube&lt;/strong&gt;, &lt;strong&gt;Metacafe&lt;/strong&gt;, &lt;strong&gt;Vimeo&lt;/strong&gt;, &lt;strong&gt;Dailymotion&lt;/strong&gt;, &lt;strong&gt;iFilm&lt;/strong&gt;, and &lt;strong&gt;Facebook videos&lt;/strong&gt;.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Ceebox - creates a lightbox-like popup overlay for images, image, html via ajax and iframe, and flash movies." src="http://www.bloggingdeveloper.com/posts/ceebox.jpg" alt="Ceebox - creates a lightbox-like popup overlay for images, image, html via ajax and iframe, and flash movies" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Ceebox - creates a lightbox-like popup overlay for images, image, html via ajax and iframe, and flash movies&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;You can create gallery next/prev buttons for any type of content images/videos/html by applying ceebox on a parent element with links underneath.&lt;/p&gt;
&lt;p&gt;Ceebox handles links automatically:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Links to images are created as image popups&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Links to video sites are created as auto-embeded video player popups (supports Google Video, YouTube, Metacafe, Vimeo, Dailymotion, iFilm, Facebook videos and swf files.)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Links to html pages on the same domain are added as ajax  Links to html pages on another domain are added as an iframe.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Title attribute is used for the caption/header on the popup.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Galleries are created automatically by applying CeeBox to a parent object with links underneath&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;br /&gt;You can find more details and play with demos &lt;a title="Ceebox - thickbox for videos" href="http://catcubed.com/2008/12/23/ceebox-a-thickboxvideobox-mashup/" target="_blank"&gt;here&lt;/a&gt;.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;Special Downloads&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/Closure.zip"&gt;C# wrapper for Google Closure Compiler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/preloadCss.js"&gt;jQuery Plug-in for Preloading CSS Images&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/compressviewstate.zip"&gt;Compress Viewstate in ASP.NET 2.0(VISUAL STUDIO PROJECT)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/querystring.js"&gt;Parse/Get QueryString with Client-Side JavaScript&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/SitemapGenerator.zip"&gt;ASP.NET sitemap generator (VISUAL STUDIO PROJECT)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zBuYB6xh8XSQK87dmFEY-BhkQE4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zBuYB6xh8XSQK87dmFEY-BhkQE4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zBuYB6xh8XSQK87dmFEY-BhkQE4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zBuYB6xh8XSQK87dmFEY-BhkQE4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=yuwE6ycwLes:2pATX3j4Z1M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=yuwE6ycwLes:2pATX3j4Z1M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=yuwE6ycwLes:2pATX3j4Z1M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=yuwE6ycwLes:2pATX3j4Z1M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/yuwE6ycwLes" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/yuwE6ycwLes/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/LightBox-for-Videos-jQuery-Plugin-for-Displaying-Flash-Videos-with-an-Overlay.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=8e5c8e35-b209-48ba-92a5-a59ddf20b0f1</guid>
      <pubDate>Thu, 12 Nov 2009 14:03:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=8e5c8e35-b209-48ba-92a5-a59ddf20b0f1</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=8e5c8e35-b209-48ba-92a5-a59ddf20b0f1</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/LightBox-for-Videos-jQuery-Plugin-for-Displaying-Flash-Videos-with-an-Overlay.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=8e5c8e35-b209-48ba-92a5-a59ddf20b0f1</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=8e5c8e35-b209-48ba-92a5-a59ddf20b0f1</feedburner:origLink></item>
    <item>
      <title>User Friendly, Readable Timestamp Formatting with CuteTime - jQuery Plugin</title>
      <description>&lt;p&gt;&lt;strong&gt;Formal timestamp formats&lt;/strong&gt; have already been avoided by most of the &lt;strong&gt;online social services&lt;/strong&gt;. Instead of displaying &lt;strong&gt;"2009-11-11 15:33"&lt;/strong&gt; or &lt;strong&gt;"Thu, November 11,2009 15:33PM"&lt;/strong&gt;, they use more user friendly, warmer and more&lt;strong&gt; readable time formatting&lt;/strong&gt; like &lt;strong&gt;"2 minutes ago"&lt;/strong&gt; or &lt;strong&gt;"4 days ago"&lt;/strong&gt;.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Instead of formal time formatting, Twitter uses more readable time stamp formatting" src="http://www.bloggingdeveloper.com/posts/cutetime_01.jpg" alt="Instead of formal time formatting, Twitter uses more readable time stamp formatting" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Instead of formal time formatting, Twitter uses more readable timestamp formatting&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;CuteTime&lt;/strong&gt; is a&lt;strong&gt; jQuery plugin&lt;/strong&gt; that provides &lt;strong&gt;easy conversion of timestamps to formats much cuter&lt;/strong&gt;. It also has the ability to dynamically update and/or automatically update &lt;strong&gt;timestamps &lt;/strong&gt;on a controlled interval.&lt;/p&gt;
&lt;p&gt;While there are other similar tools out there written in &lt;strong&gt;JavaScript&lt;/strong&gt;, &lt;strong&gt;PHP &lt;/strong&gt;and &lt;strong&gt;C#&lt;/strong&gt;, this plugin does exactly what it promisis.&lt;/p&gt;
&lt;p&gt;If used as function, a string containing a cuter version of the provided time stamp is returned.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Instead of formal time formatting, Twitter uses more readable time stamp formatting" src="http://www.bloggingdeveloper.com/posts/cutetime_02.jpg" alt="CuteTime jQuery Plugin can be used as a function." /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;CuteTime jQuery Plugin can be used as a function.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;CuteTime jQuery Plugin can also be used via selectors. In this case, it replaces the text of the provided object with CuteTime.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Instead of formal time formatting, Twitter uses more readable time stamp formatting" src="http://www.bloggingdeveloper.com/posts/cutetime_03.jpg" alt="CuteTime jQuery Plugin can also be used via selectors" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;CuteTime jQuery Plugin can also be used via selectors.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can get more details about the plugin and download it from &lt;a title="CuteTime jquery plugin" href="http://tpgblog.com/cutetime/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Fk8jqwsHUkuCFvD3dGKbRZXj_5I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fk8jqwsHUkuCFvD3dGKbRZXj_5I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Fk8jqwsHUkuCFvD3dGKbRZXj_5I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fk8jqwsHUkuCFvD3dGKbRZXj_5I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=60l-JogJbPc:hujmg1XpWYU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=60l-JogJbPc:hujmg1XpWYU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=60l-JogJbPc:hujmg1XpWYU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=60l-JogJbPc:hujmg1XpWYU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/60l-JogJbPc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/60l-JogJbPc/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/User-Friendly-Readable-Timestamp-Formatting-with-CuteTime-jQuery-Plugin.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=8d401e5d-1a34-43d7-8493-2635847f2435</guid>
      <pubDate>Wed, 11 Nov 2009 15:28:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=8d401e5d-1a34-43d7-8493-2635847f2435</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=8d401e5d-1a34-43d7-8493-2635847f2435</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/User-Friendly-Readable-Timestamp-Formatting-with-CuteTime-jQuery-Plugin.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=8d401e5d-1a34-43d7-8493-2635847f2435</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=8d401e5d-1a34-43d7-8493-2635847f2435</feedburner:origLink></item>
    <item>
      <title>CSS Based Javascript Free Cross-Browser Pagination with Tooltips</title>
      <description>&lt;p&gt;Blogs, forums, online slide presentations etc. mostly use simple previous - next text links for &lt;strong&gt;navigation&lt;/strong&gt;. All other fancy, more useful &lt;strong&gt;pagination techniques &lt;/strong&gt;need &lt;strong&gt;Javascript code&lt;/strong&gt; or &lt;strong&gt;images&lt;/strong&gt;. Yesterday, I came across to a&lt;strong&gt; new completely CSS based&lt;/strong&gt;, &lt;strong&gt;Javascript and image free pagination&lt;/strong&gt; example. &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="CSS Based Javascript Free Pagination with Tooltips" src="http://www.bloggingdeveloper.com/posts/cssnavigation.jpg" alt="CSS Based Javascript Free Pagination with Tooltips" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;CSS Based Javascript Free Pagination with Tooltips&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;This cross-browser pagination technique is supported by:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Internet Explorer 6 or higher&lt;/li&gt;
&lt;li&gt;Firefox 1.0 or higher&lt;/li&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Opera&lt;/li&gt;
&lt;li&gt;Safari&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;More details and a demo can be found &lt;a title="CSS Navigation: No JavaScript, jQuery or Image Required, Free CSS Navigation / Pagination with Tooltip" href="http://kntl.org/css-imageless-but-cool-javascript-and-jquery" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/60IBXlp_Onz8w0JV-oHX8lmADzM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/60IBXlp_Onz8w0JV-oHX8lmADzM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/60IBXlp_Onz8w0JV-oHX8lmADzM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/60IBXlp_Onz8w0JV-oHX8lmADzM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=pwQx5JK4bM0:_-EnXTEV1jY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=pwQx5JK4bM0:_-EnXTEV1jY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=pwQx5JK4bM0:_-EnXTEV1jY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=pwQx5JK4bM0:_-EnXTEV1jY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/pwQx5JK4bM0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/pwQx5JK4bM0/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/CSS-Based-Javascript-Free-Cross-Browser-Pagination-with-Tooltips.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=eeb36411-814f-4545-a59f-94a2e20b92ef</guid>
      <pubDate>Wed, 11 Nov 2009 11:17:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=eeb36411-814f-4545-a59f-94a2e20b92ef</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=eeb36411-814f-4545-a59f-94a2e20b92ef</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/CSS-Based-Javascript-Free-Cross-Browser-Pagination-with-Tooltips.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=eeb36411-814f-4545-a59f-94a2e20b92ef</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=eeb36411-814f-4545-a59f-94a2e20b92ef</feedburner:origLink></item>
    <item>
      <title>Google Closure Compiler vs. YUI Compressor - Comparing the Javascript Compression Tools</title>
      <description>&lt;p&gt;I have written couple of articles on &lt;strong&gt;Google's Closure Compiler&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Closure Compiler - Javascript Compiler by Google - Compress Javascript with Closure Compiler" href="http://www.bloggingdeveloper.com/post/Javascript-Compiler-by-Google-Compress-Javascript-with-Closure-Compiler.aspx" target="_blank"&gt;Closure Compiler - Javascript Compiler by Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="C# Wrapper for Google Closure Compiler - Compressing Javascript Files on-the-fly with ASP.NET and Closure Compiler" href="http://www.bloggingdeveloper.com/post/C-Wrapper-for-Google-Closure-Compiler-Compressing-Javascript-Files-on-the-fly-with-ASPNET-and-Closure-Compiler.aspx" target="_blank"&gt;C# Wrapper for Google Closure Compiler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Using Google Closure Compiler with PHP 5" href="http://www.bloggingdeveloper.com/post/Using-Google-Closure-Compiler-with-PHP-5.aspx" target="_blank"&gt;Using Google Closure Compiler with PHP 5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;In terms of &lt;strong&gt;Javascript Compression&lt;/strong&gt;, the most widely used tools are: &lt;strong&gt;JSMIN&lt;/strong&gt;, &lt;strong&gt;the DOJO Compressor&lt;/strong&gt;, &lt;strong&gt;Dean Edwards&amp;rsquo; Packer&lt;/strong&gt; and &lt;strong&gt;YUI Compressor&lt;/strong&gt;. The &lt;strong&gt;YUI Compressor&lt;/strong&gt; is designed to be 100% safe and yield a higher compression ratio than the other tools listed above. That&amp;rsquo;s why most of the&lt;strong&gt; JavaScript Frameworks &lt;/strong&gt;use YUI Compressor to &lt;strong&gt;minimize their Javascript code&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;On November 5th, &lt;strong&gt;Google announced Closure Compiler for Javascript compression&lt;/strong&gt;. The strongest part of the Closure Compiler is that it does not only remove whitespace but also it rewrites Javascript Code to make it smaller. It also optimizes your Javascript code to perform better.&lt;/p&gt;
&lt;p&gt;In this post, I &lt;strong&gt;compared the compression performance of YUI Compressor and Google Closer Compiler&lt;/strong&gt; using the &lt;strong&gt;well-known Javascript Frameworks&lt;/strong&gt; - &lt;strong&gt;Mootools&lt;/strong&gt;, &lt;strong&gt;JQuery&lt;/strong&gt; and &lt;strong&gt;Prototype&lt;/strong&gt;:&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Comparing YUI Compressor and Closure Compiler" src="http://www.bloggingdeveloper.com/posts/comparecompression_1.jpg" alt="Comparing YUI Compressor and Closure Compiler" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Comparing YUI Compressor and Closure Compiler - the values given in the chart are bytes&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Comparing YUI Compressor and Closure Compiler" src="http://www.bloggingdeveloper.com/posts/comparecompression_2.jpg" alt="Comparing YUI Compressor and Closure Compiler" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Comparing YUI Compressor and Closure Compiler - Compression Percentage&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;comparison&lt;/strong&gt; results show that &lt;strong&gt;Google Closure Compiler&lt;/strong&gt; minimizes code size about &lt;strong&gt;20-25% more than YUI Compressor&lt;/strong&gt; by providing nearly 60% compression.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ysFu-XulAaqwFRdHJYLcAhA2F-w/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ysFu-XulAaqwFRdHJYLcAhA2F-w/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ysFu-XulAaqwFRdHJYLcAhA2F-w/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ysFu-XulAaqwFRdHJYLcAhA2F-w/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=oNKGKDo5NiE:9j-NrCTQTYM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=oNKGKDo5NiE:9j-NrCTQTYM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=oNKGKDo5NiE:9j-NrCTQTYM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=oNKGKDo5NiE:9j-NrCTQTYM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/oNKGKDo5NiE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/oNKGKDo5NiE/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=b7da7167-8ff7-4ffa-8eb7-52d7938860fc</guid>
      <pubDate>Mon, 09 Nov 2009 13:54:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=b7da7167-8ff7-4ffa-8eb7-52d7938860fc</pingback:target>
      <slash:comments>8</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=b7da7167-8ff7-4ffa-8eb7-52d7938860fc</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Closure-Compiler-vs-YUI-Compressor-Comparing-the-Javascript-Compression-Tools.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=b7da7167-8ff7-4ffa-8eb7-52d7938860fc</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=b7da7167-8ff7-4ffa-8eb7-52d7938860fc</feedburner:origLink></item>
    <item>
      <title>Using Google Closure Compiler with PHP 5</title>
      <description>&lt;p&gt;Recently, I have written a &lt;a title="C# Wrapper for Google Closure Compiler - Compressing Javascr" href="http://www.bloggingdeveloper.com/post/C-Wrapper-for-Google-Closure-Compiler-Compressing-Javascript-Files-on-the-fly-with-ASPNET-and-Closure-Compiler.aspx" target="_blank"&gt;&lt;strong&gt;C# wrapper for Google Closure Compiler to use with ASP.NET for on-the-fly JavaScript compression&lt;/strong&gt;&lt;/a&gt;. For those who want to use the &lt;strong&gt;Closure Compiler with PHP&lt;/strong&gt;, Bohuco.net has an article showing how to use the&lt;strong&gt; Google Closure Compiler over its RESTful API with PHP5&lt;/strong&gt;. &amp;nbsp;&lt;/p&gt;
&lt;p class="code"&gt;$script = file_get_contents('http://www.domain.com/scripts/script.js');&lt;br /&gt; $ch = curl_init('http://closure-compiler.appspot.com/compile');&lt;br /&gt; &lt;br /&gt; curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);&lt;br /&gt; curl_setopt($ch, CURLOPT_POST, 1);&lt;br /&gt; curl_setopt($ch, CURLOPT_POSTFIELDS, 'output_info=compiled_code&amp;amp;output_format=text&amp;amp;compilation_level=SIMPLE_OPTIMIZATIONS&amp;amp;js_code=' . urlencode($script));&lt;br /&gt; $output = curl_exec($ch);&lt;br /&gt; curl_close($ch);&lt;/p&gt;
&lt;p&gt;You can find more details on &lt;strong&gt;using Closure Compiler with PHP 5&lt;/strong&gt; &lt;a title="using closure compiler with PHP" href="http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/em-IZ5PYcGhmJYPZRI15ZAf1URw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/em-IZ5PYcGhmJYPZRI15ZAf1URw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/em-IZ5PYcGhmJYPZRI15ZAf1URw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/em-IZ5PYcGhmJYPZRI15ZAf1URw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=-riPdKxwt6I:cwNMvUJ1RII:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=-riPdKxwt6I:cwNMvUJ1RII:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=-riPdKxwt6I:cwNMvUJ1RII:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=-riPdKxwt6I:cwNMvUJ1RII:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/-riPdKxwt6I" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/-riPdKxwt6I/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Using-Google-Closure-Compiler-with-PHP-5.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=429d1ac2-c874-4055-8721-6c6a28d3f170</guid>
      <pubDate>Mon, 09 Nov 2009 13:17:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=429d1ac2-c874-4055-8721-6c6a28d3f170</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=429d1ac2-c874-4055-8721-6c6a28d3f170</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Using-Google-Closure-Compiler-with-PHP-5.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=429d1ac2-c874-4055-8721-6c6a28d3f170</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=429d1ac2-c874-4055-8721-6c6a28d3f170</feedburner:origLink></item>
    <item>
      <title>C# Wrapper for Google Closure Compiler - Compressing Javascript Files on-the-fly with ASP.NET and Closure Compiler</title>
      <description>&lt;p&gt;On November 5th, Google released &lt;strong&gt;Closure Compiler for Javascript optimization&lt;/strong&gt;. The strongest part of the &lt;strong&gt;Closure Compiler&lt;/strong&gt; is that it does not only &lt;strong&gt;remove whitespace&lt;/strong&gt; but also &lt;strong&gt;rewrites Javascript Code to make it smaller&lt;/strong&gt;. It also &lt;strong&gt;optimizes your Javascript code&lt;/strong&gt; to perform better. You can find more details and all of its features on my previous article: &lt;a title="Closure Compiler - Javascript Compiler by Google - Compress Javascript with Closure Compiler" href="http://www.bloggingdeveloper.com/post/Javascript-Compiler-by-Google-Compress-Javascript-with-Closure-Compiler.aspx" target="_blank"&gt;Closure Compiler &amp;ndash; Javascript Compiler by Google&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;During my tests, &lt;strong&gt;Closure Compiler&lt;/strong&gt; reduced Javascripts more than 60%. Considering, the size of Javascript files that modern websites have and the reduction before &lt;strong&gt;HTTP compression&lt;/strong&gt;, Closure Compiler is really useful.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Closure Compiler&lt;/strong&gt; comes with a &lt;strong&gt;Java based command line tool&lt;/strong&gt; and a &lt;strong&gt;RESTful API&lt;/strong&gt;. &amp;nbsp;RESTful API works great and very fast. API can be used with a &lt;strong&gt;MSBuild&lt;/strong&gt; or&lt;strong&gt; NAnt script&lt;/strong&gt; to automatically compress Javascript files.&lt;/p&gt;
&lt;p&gt;I wrote a C# wrapper for the Google Closure Compiler:&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Google's Javascript Compiler" src="http://www.bloggingdeveloper.com/posts/closureAPI.jpg" alt="Google's Javascript compressor - C# wrapper" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;C# wrapper for the Google Closure Compiler&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The Closure Compiler has&lt;strong&gt; three compilation levels&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;WHITESPACE_ONLY&lt;/strong&gt;: just removes whitespace and comments from the Javascript&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SIMPLE_OPTIMIZATION&lt;/strong&gt;:&amp;nbsp;performs compression and optimization that does not interfere with the interaction between the compiled JavaScript and other JavaScript. This level renames only local variables.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ADVANCED_OPTIMIZATIONS&lt;/strong&gt;:&amp;nbsp;achieves the highest level of compression by renaming symbols in your JavaScript. When using ADVANCED_OPTIMIZATIONS compilation you must perform extra steps to preserve references in other Javascript files&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Below is an example of using the Google Closure Compiler C# wrapper with ASP.NET&lt;/p&gt;
&lt;p class="code"&gt;Compress googleClosure = new Compress();&lt;br /&gt;string script = googleClosure(Server.MapPath("~/script.js");&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Download Closure.cs&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/closure.zip" title="Get Closure.cs"&gt;Get Closure.cs&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jX6KHpVxzNpJ1scgSHgrJ0DIPnU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jX6KHpVxzNpJ1scgSHgrJ0DIPnU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jX6KHpVxzNpJ1scgSHgrJ0DIPnU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jX6KHpVxzNpJ1scgSHgrJ0DIPnU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=c6Up3z18tVg:zFraZ2uoLwg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=c6Up3z18tVg:zFraZ2uoLwg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=c6Up3z18tVg:zFraZ2uoLwg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=c6Up3z18tVg:zFraZ2uoLwg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/c6Up3z18tVg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/c6Up3z18tVg/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/C-Wrapper-for-Google-Closure-Compiler-Compressing-Javascript-Files-on-the-fly-with-ASPNET-and-Closure-Compiler.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=86b40c5a-9643-4864-a8ef-24326da28c3f</guid>
      <pubDate>Sun, 08 Nov 2009 08:36:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <category>C#</category>
      <category>JavaScript</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=86b40c5a-9643-4864-a8ef-24326da28c3f</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=86b40c5a-9643-4864-a8ef-24326da28c3f</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/C-Wrapper-for-Google-Closure-Compiler-Compressing-Javascript-Files-on-the-fly-with-ASPNET-and-Closure-Compiler.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=86b40c5a-9643-4864-a8ef-24326da28c3f</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=86b40c5a-9643-4864-a8ef-24326da28c3f</feedburner:origLink></item>
    <item>
      <title>jQuery Multiday Datepicker - jQuery Calendar Plugin for Selecting Consecutive Days</title>
      <description>&lt;p&gt;Recently, we examined two&lt;strong&gt; jQuery date picker plugins&lt;/strong&gt;:&amp;nbsp;&lt;a title="jQuery Datepicker Plugin - Highly Configurable Datepicker from jQuery UI" href="http://www.bloggingdeveloper.com/post/jQuery-Datepicker-Plugin-Highly-Configurable-Datepicker-from-jQuery-UI.aspx" target="_blank"&gt;jQuery UI DatePicker Plugin&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a title="jQuery Date Range Picker - An Easy to Implement jQuery Plugin" href="http://www.bloggingdeveloper.com/post/jQuery-Date-Range-Picker-An-Easy-to-Implement-jQuery-Plugin.aspx" target="_blank"&gt;jQuery Date Range Picker Plugin&lt;/a&gt;.&lt;strong&gt; jQuery UI's Date Picker plugin&lt;/strong&gt; enables users to select one and only one day from a selectable date range. On the other hand,&lt;strong&gt; jQuery Date Range Picker Plugin&lt;/strong&gt; simplifies selection of a date range.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery Mutlday Calendar" src="http://www.bloggingdeveloper.com/posts/multiday.jpg" alt="jQuery Mutlday Calendar Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery Mutlday Calendar Plugin enables selection of pre-specified number of consecutive days&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;jQuery Multiday Calendar Datepicker Plugin&lt;/strong&gt; is an animated datepicker calendar for multi-day selection with multi-month display. It allows selection of pre-specified number of &lt;strong&gt;consecutive days &lt;/strong&gt;by providing a sequence of side by side residing months.&lt;/p&gt;
&lt;p&gt;You can find more details about the plugin &lt;a title="multiday multi-month calendar" href="http://www.overset.com/2008/05/12/multiday-calendar-datepicker-jquery-plugin/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jDZ98gx-z22z_Tx7ZY-2R9rt2oU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDZ98gx-z22z_Tx7ZY-2R9rt2oU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jDZ98gx-z22z_Tx7ZY-2R9rt2oU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jDZ98gx-z22z_Tx7ZY-2R9rt2oU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gaXLiLnsLaU:88q9U2CCY0o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gaXLiLnsLaU:88q9U2CCY0o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gaXLiLnsLaU:88q9U2CCY0o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gaXLiLnsLaU:88q9U2CCY0o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/gaXLiLnsLaU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/gaXLiLnsLaU/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-Multiday-Datepicker-jQuery-Calendar-Plugin-for-Selecting-Consecutive-Days.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=7d5b0d63-7953-4784-8fb0-e419576d15ef</guid>
      <pubDate>Sun, 08 Nov 2009 06:42:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=7d5b0d63-7953-4784-8fb0-e419576d15ef</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=7d5b0d63-7953-4784-8fb0-e419576d15ef</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-Multiday-Datepicker-jQuery-Calendar-Plugin-for-Selecting-Consecutive-Days.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=7d5b0d63-7953-4784-8fb0-e419576d15ef</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=7d5b0d63-7953-4784-8fb0-e419576d15ef</feedburner:origLink></item>
    <item>
      <title>Closure Compiler - Javascript Compiler by Google - Compress Javascript with Closure Compiler</title>
      <description>&lt;p&gt;Yesterday, &lt;strong&gt;Google&lt;/strong&gt; introduced &lt;strong&gt;Closure Tools&lt;/strong&gt; (&lt;a title="Google's Closure Tools" href="http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html"&gt;announcement&lt;/a&gt;) to enable easy creation of web applications. &lt;strong&gt;The tool set contains&lt;/strong&gt;:&amp;nbsp;&lt;strong&gt;Closure Compiler&lt;/strong&gt;, &lt;strong&gt;Closure Library&lt;/strong&gt; and &lt;strong&gt;Closure Templates&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Closure Compiler&lt;/strong&gt; is a &lt;strong&gt;Javascript optimizer&lt;/strong&gt; that compiles javascript code into a compact, high performance form. The compiler does more than a standard &lt;strong&gt;Javascript compressor&lt;/strong&gt;. &lt;strong&gt;The Closure Compiler&lt;/strong&gt;&lt;strong&gt; reduces the size of your JavaScript files&lt;/strong&gt; and makes them more efficient, helping your application to load faster and reducing your bandwidth needs. Moreover, it removes dead code, rewrites the code to improve code running speed on browsers' Javascript engines. It also checks syntax, variable references, variable types and warns about Javascript errors. &amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Google's Javascript Compiler" src="http://www.bloggingdeveloper.com/posts/closurecompiler_1.jpg" alt="Google's Javascript compressor" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Closure Compiler by Google - reduces the size of your JavaScript files and makes them more efficient&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;As mentioned before,&lt;strong&gt; Closure compiler is more than a standard Javascript compressor&lt;/strong&gt;. Using it results having a less buggy and easier to maintain code.&lt;/p&gt;
&lt;p&gt;The compiler also offers a Firebug extension, named Inspector, for better debugging.&lt;/p&gt;
&lt;p&gt;You can use the Closure Compiler as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An open source Java application that you can run from the command line.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;A simple web application.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;A RESTful API.&lt;/li&gt;
&lt;/ul&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Google's Javascript Compiler" src="http://www.bloggingdeveloper.com/posts/closurecompiler_2.jpg" alt="Google's Javascript compressor" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Closure Compiler by Google does more than removing whitespace.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You can find more details &lt;a href="http://code.google.com/closure/compiler/" target="_blank"&gt;here&lt;/a&gt;. Also, tool can be used online at:&amp;nbsp;&lt;a href="http://closure-compiler.appspot.com/home" target="_blank"&gt;http://closure-compiler.appspot.com/home&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LrWDmUkbgi-5M0vlK0rDCHgiQVo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LrWDmUkbgi-5M0vlK0rDCHgiQVo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LrWDmUkbgi-5M0vlK0rDCHgiQVo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LrWDmUkbgi-5M0vlK0rDCHgiQVo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5fUzSkaqVIM:Y9BFEUFGa2w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5fUzSkaqVIM:Y9BFEUFGa2w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5fUzSkaqVIM:Y9BFEUFGa2w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5fUzSkaqVIM:Y9BFEUFGa2w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/5fUzSkaqVIM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/5fUzSkaqVIM/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Javascript-Compiler-by-Google-Compress-Javascript-with-Closure-Compiler.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=aee193d3-efd5-4c79-8178-a61a73429280</guid>
      <pubDate>Fri, 06 Nov 2009 13:29:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=aee193d3-efd5-4c79-8178-a61a73429280</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=aee193d3-efd5-4c79-8178-a61a73429280</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-Compiler-by-Google-Compress-Javascript-with-Closure-Compiler.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=aee193d3-efd5-4c79-8178-a61a73429280</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=aee193d3-efd5-4c79-8178-a61a73429280</feedburner:origLink></item>
    <item>
      <title>jQuery Date Range Selector - An Easy to Implement jQuery Date Range Selector Plugin</title>
      <description>&lt;p&gt;Previously, I wrote about a&lt;strong&gt; &lt;/strong&gt;&lt;a title="jquery date picker plugin" href="http://www.bloggingdeveloper.com/post/jQuery-Datepicker-Plugin-Highly-Configurable-Datepicker-from-jQuery-UI.aspx" target="_blank"&gt;&lt;strong&gt;jQuery Date Picker Plugin from jQuery UI&lt;/strong&gt;&lt;/a&gt;. With minDate and maxDate properties, you can&lt;strong&gt; restrict the range of selectable dates&lt;/strong&gt; with in the &lt;strong&gt;DatePicker&lt;/strong&gt;. However, we sometimes need users to choose a &lt;strong&gt;date range&lt;/strong&gt;. Filamentgroup modified the &lt;strong&gt;jQuery UI's Datepicker control&lt;/strong&gt; and created a new plugin for quickly selecting &lt;strong&gt;a date from a list of preset dates/ranges&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Filamentgroup's Date Range Picker control&lt;/strong&gt; simplifies selecting a range of values where the data set is very large or the high or the low end is unknown by "&lt;strong&gt;All dates before...&lt;/strong&gt;" and "&lt;strong&gt;All dates after...&lt;/strong&gt;" links. It also automatically controls the number of calendars needed for choosing a range. For example: you only need one calendar to choose "All dates before", but you need two calendars to select a custom date range.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery Date Range Picker Plugin" src="http://www.bloggingdeveloper.com/posts/daterangepicker.jpg" alt="jQuery Date Range Picker Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery Date Range Picker Plugin by FilamentGroup&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Date Range Picker plugin&lt;/strong&gt; requires &lt;strong&gt;jQuery&lt;/strong&gt; and&lt;strong&gt; jQuery UI Datepicker&lt;/strong&gt;. It also uses the&lt;strong&gt; jQuery UI CSS Framework&lt;/strong&gt; as well as one additional custom CSS file. You can find more details about the &lt;strong&gt;plugin &lt;/strong&gt;&lt;a href="http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ml5gq2xcLiMa8nw_C6jQ3j5djQc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ml5gq2xcLiMa8nw_C6jQ3j5djQc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ml5gq2xcLiMa8nw_C6jQ3j5djQc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ml5gq2xcLiMa8nw_C6jQ3j5djQc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=UZfyzfGdYzo:ftGU4wOXSpw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=UZfyzfGdYzo:ftGU4wOXSpw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=UZfyzfGdYzo:ftGU4wOXSpw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=UZfyzfGdYzo:ftGU4wOXSpw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/UZfyzfGdYzo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/UZfyzfGdYzo/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-Date-Range-Picker-An-Easy-to-Implement-jQuery-Plugin.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3acfb0fd-3416-4179-a516-97ab64453510</guid>
      <pubDate>Fri, 06 Nov 2009 11:49:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3acfb0fd-3416-4179-a516-97ab64453510</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3acfb0fd-3416-4179-a516-97ab64453510</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-Date-Range-Picker-An-Easy-to-Implement-jQuery-Plugin.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3acfb0fd-3416-4179-a516-97ab64453510</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3acfb0fd-3416-4179-a516-97ab64453510</feedburner:origLink></item>
    <item>
      <title>jQuery Datepicker Plugin - Highly Configurable Datepicker from jQuery UI</title>
      <description>&lt;p&gt;For a couple of days, I have been working on finding the &lt;strong&gt;best-looking&lt;/strong&gt; and the &lt;strong&gt;most customizable&lt;/strong&gt; &lt;strong&gt;calendar &lt;/strong&gt;and &lt;strong&gt;datepicker &lt;/strong&gt;controls. Previously, I wrote about two calendar controls: &lt;a title="Creating an iCal like Calendar with jQuery" href="http://www.bloggingdeveloper.com/post/Creating-an-iCal-like-Calendar-w.aspx" target="_blank"&gt;&lt;strong&gt;iCal like Calendar with jQuery&lt;/strong&gt;&lt;/a&gt; and&lt;strong&gt; &lt;/strong&gt;&lt;a title="FullCalendar: jQuery Event Calendar with Drag'n Drop, Ajax Fething and Google Calendar Integration" href="http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx" target="_blank"&gt;&lt;strong&gt;FullCalendar - jQuery Event Calendar with Ajax&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;jQuery UI&lt;/strong&gt; provides abstractions for interaction and animation, advanced effects and themeable widgets, built on top of the&lt;strong&gt; jQuery JavaScript Library&lt;/strong&gt;, that you can use to build highly interactive web applications.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The jQuery UI Datepicker&lt;/strong&gt; is a highly configurable &lt;strong&gt;jQuery datepicker plugin&lt;/strong&gt;. The &lt;strong&gt;date format and language can be formatted&lt;/strong&gt;, the &lt;strong&gt;selectable date ranges &amp;nbsp;can be restricted&lt;/strong&gt; and optional buttons and other navigation options can be added easily.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jquery datepicker plugin" src="http://www.bloggingdeveloper.com/posts/datepicker_01.jpg" alt="jQuery UI's Datpicker Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery UI's Datpicker Plugin&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;By default, &lt;strong&gt;the datepicker is tied to a standard form input field&lt;/strong&gt;. Focus on the input opens an interactive calendar in a small overlay. Choosing a date, clicking elsewhere on the page or hitting the Esc key closes the control. If a date is chosen, feedback is shown as the input's value. It can also be used as an &lt;strong&gt;inline calendar&lt;/strong&gt;, by &lt;strong&gt;simply attaching the datepicker to a div or span&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You can also use keyboard shortcuts to control the datepicker:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;page up/down - previous/next month&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ctrl+page up/down - previous/next year&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ctrl+home - current month or open when closed&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ctrl+left/right - previous/next day&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ctrl+up/down - previous/next week&amp;nbsp;&lt;/li&gt;
&lt;li&gt;enter -&amp;nbsp;accept the selected date&amp;nbsp;&lt;/li&gt;
&lt;li&gt;ctrl+end - close and erase the date&amp;nbsp;&lt;/li&gt;
&lt;li&gt;escape - close the datepicker without selection&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jquery datepicker plugin" src="http://www.bloggingdeveloper.com/posts/datepicker_02.jpg" alt="jQuery UI's Datpicker Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery UI's Datpicker Plugin enables multiple month display&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;&lt;strong&gt;The jQuery UI Datepicker&lt;/strong&gt; plugin uses the &lt;strong&gt;jQuery UI CSS Framework&lt;/strong&gt; to style its look and feel, including colors and background textures.&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;More details can be found &lt;a href="http://jqueryui.com/demos/datepicker/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/uVDIVBYJ3CfAzsd5BPvz8BcaNU4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uVDIVBYJ3CfAzsd5BPvz8BcaNU4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/uVDIVBYJ3CfAzsd5BPvz8BcaNU4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/uVDIVBYJ3CfAzsd5BPvz8BcaNU4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=9Pmt3jBLIY0:W9aAeKznsjc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=9Pmt3jBLIY0:W9aAeKznsjc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=9Pmt3jBLIY0:W9aAeKznsjc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=9Pmt3jBLIY0:W9aAeKznsjc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/9Pmt3jBLIY0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/9Pmt3jBLIY0/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-Datepicker-Plugin-Highly-Configurable-Datepicker-from-jQuery-UI.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3a230492-8f60-4598-b0e9-e87032153608</guid>
      <pubDate>Fri, 06 Nov 2009 07:57:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3a230492-8f60-4598-b0e9-e87032153608</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3a230492-8f60-4598-b0e9-e87032153608</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-Datepicker-Plugin-Highly-Configurable-Datepicker-from-jQuery-UI.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3a230492-8f60-4598-b0e9-e87032153608</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3a230492-8f60-4598-b0e9-e87032153608</feedburner:origLink></item>
    <item>
      <title>jQuery Week Calendar - An Easy to Implement Google Calendar like jQuery Calendar Plugin</title>
      <description>&lt;p&gt;Previously, I posted about a &lt;a title="FullCalendar: jQuery Event Calendar with Drag'n Drop" href="http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx" target="_blank"&gt;monthly calendar jQuery Plugin: FullCalendar&lt;/a&gt;. &lt;strong&gt;FullCalendar &lt;/strong&gt;is a jQuery plugin that provides &lt;strong&gt;full-sized, drag and drop capable calendar&lt;/strong&gt;. It utilizes Ajax to fetch events on the fly. It is easily configurable to use custom feed format and also has an extension for Google Calendar. More details about &lt;strong&gt;FullCalendar &lt;/strong&gt;can be found &lt;a title="jQuery FullCalendar - full month view" href="http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;jQuery Week Calendar&lt;/strong&gt; is another &lt;strong&gt;jQuery Calendar plugin&lt;/strong&gt; similar to &lt;strong&gt;FullCalendar&lt;/strong&gt;. It provides a simple and flexible way of including a&lt;strong&gt; weekly calendar control&lt;/strong&gt; in to your web pages. It is an&lt;strong&gt; extension of jQuery and jQuery IU plugin&lt;/strong&gt;. jQuery Week Calendar is similar to &lt;strong&gt;Google calendar&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery Week Calendar Plugin - A Google Calendar Like Week Calendar" src="http://www.bloggingdeveloper.com/posts/weekcalendar.jpg" alt="jQuery Week Calendar Plugin - A Google Calendar Like Week Calendar" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery Week Calendar Plugin - A Google Calendar Like Week Calendar&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The jQuery Week Calendar features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a weekly grid for calendar events.&lt;/li&gt;
&lt;li&gt;calendar events can be supplied as an array or a function returning JSON.&lt;/li&gt;
&lt;li&gt;calendar events can be dragged, dropped and resized.&lt;/li&gt;
&lt;li&gt;configurable timeslots&lt;/li&gt;
&lt;li&gt;readonly calendars&lt;/li&gt;
&lt;li&gt;custom date formatting&lt;/li&gt;
&lt;li&gt;direct modification of individual events (&lt;strong&gt;create&lt;/strong&gt;, &lt;strong&gt;update&lt;/strong&gt;, &lt;strong&gt;delete&lt;/strong&gt;...)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;Dependencies:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;jQuery 1.3.2&lt;/li&gt;
&lt;li&gt;jQuery UI 1.7.x for drag, drop, resize&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;The plugin is &lt;strong&gt;compatible &lt;/strong&gt;with &lt;strong&gt;Firefox 3.x&lt;/strong&gt;,&lt;strong&gt; Safari 3.1+&lt;/strong&gt;,&lt;strong&gt; Internet Explorer 7+&lt;/strong&gt; and &lt;strong&gt;Google Chrome&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The look and feel of the plugin is simple but easily editable by adding stylesheet that overrides colors.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Usage, implementation details and demos can be found &lt;a title="jQuery Week Calendar" href="http://www.redredred.com.au/projects/jquery-week-calendar/" target="_blank"&gt;here&lt;/a&gt;. I highly recommend checking out the &lt;a title="FullCalendar: jQuery Event Calendar with Drag'n Drop, Ajax F" href="http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx"&gt;&lt;strong&gt;FullCalendar&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; plugin&lt;/strong&gt; for monthly calendar view.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EVN00RBHPRL7p2mwEGggKoAIyt0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EVN00RBHPRL7p2mwEGggKoAIyt0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EVN00RBHPRL7p2mwEGggKoAIyt0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EVN00RBHPRL7p2mwEGggKoAIyt0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Q-mP6B8SA84:wLRPzlnpVwY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Q-mP6B8SA84:wLRPzlnpVwY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Q-mP6B8SA84:wLRPzlnpVwY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Q-mP6B8SA84:wLRPzlnpVwY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Q-mP6B8SA84" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Q-mP6B8SA84/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-Week-Calendar-An-Easy-to-Implement-Google-Calendar-like-jQuery-Calendar-Plugin.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=bb7bf2d6-ec0e-4887-87ff-66fe658591c6</guid>
      <pubDate>Fri, 06 Nov 2009 07:37:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=bb7bf2d6-ec0e-4887-87ff-66fe658591c6</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=bb7bf2d6-ec0e-4887-87ff-66fe658591c6</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-Week-Calendar-An-Easy-to-Implement-Google-Calendar-like-jQuery-Calendar-Plugin.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=bb7bf2d6-ec0e-4887-87ff-66fe658591c6</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=bb7bf2d6-ec0e-4887-87ff-66fe658591c6</feedburner:origLink></item>
    <item>
      <title>Powerful ASP.NET CMS Solution: Kentico CMS</title>
      <description>&lt;p&gt;&lt;a href="http://www.kentico.com/"&gt;Kentico CMS&lt;/a&gt; is a &lt;strong&gt;powerful, flexible and complete content management system&lt;/strong&gt; which provides a complete set of features with an affordable price.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kentico CMS&lt;/strong&gt; &amp;ndash; built on the Microsoft ASP.NET platform - comes with an easy-to-use WYSIWYG editor for creating/editing the content for building web sites, blogs, community sites, intranets and online stores. It has &lt;strong&gt;various modules that make building any type of website and manage its content possible&lt;/strong&gt;. It comes with an &lt;strong&gt;API that allows you to script operations&lt;/strong&gt; such as creating a new document, user, or editing an existing document. The API is great for integrations with any 3rd party software.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Kentico CMS WYSIWYG Editor" src="http://www.bloggingdeveloper.com/posts/kentico1.jpg" alt="Kentico CMS WYSIWYG Editor" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Kentico CMS WYSIWYG Editor&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kentico CMS&lt;/strong&gt; lets you&lt;strong&gt; create and maintain articles, newsletters, forums, blogs, polls, news, wikis, product listings, FAQs, and knowledge-base articles&lt;/strong&gt;. It also comes with a module for implementing e-commerce functionality into your website with support for search-engine optimization (SEO). In addition, Kentico generates &lt;strong&gt;SEO-friendly URLs&lt;/strong&gt;, has&lt;strong&gt; full-text search support&lt;/strong&gt;, a &lt;strong&gt;powerful role-based security system&lt;/strong&gt;. Also, it supports&lt;strong&gt; multiple languages&lt;/strong&gt; including Chinese and languages written from right-to-left such as Hebrew and Arabic.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kentico CMS&lt;/strong&gt; promises to fix any bug within 7 days, and in addition they plant a new tree with the name of the bug reporter. You can find more details &lt;a href="http://trees.kentico.com/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Kentico CMS for ASP.NET&lt;/strong&gt; is available in four editions: Free, Professional Edition, Enterprise Edition and Social Networking Edition. The core features are the same for all these editions, but some advanced features are not available in the Free and Professional editions. The free edition have no time limitation and can be used for commercial purposes without aqny extra cost. It can be downloaded from&amp;nbsp;&lt;a href="http://www.kentico.com/bloggingdeveloperreview.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Kentico CMS is available in four editions" src="http://www.bloggingdeveloper.com/posts/kentico2.jpg" alt="Kentico CMS is available in four editions" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Kentico CMS is available in four editions&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Besides &lt;a href="http://www.kentico.com/bloggingdeveloperreview2.aspx"&gt;TRIAL and FREE&lt;/a&gt; editions, the Virtual Lab service  allows users to &lt;a href="http://www.kentico.com/Demo/VirtualLab.aspx"&gt;test Kentico CMS on-line&lt;/a&gt; for 7 days, without the need of installing anything on users&amp;rsquo; local PC. To sum up, Kentico CMS is a powerful, flexible and reliable content management system, used by more than 4000 web sites in 83 countries and the clients include Microsoft, Brussels Airlines, Vodafone, Audi, Mazda, Subaru, Samsung, Gibson, Bayer, ESPN, Guinness, DKNY, Abbott Labs, Medibank Private (Australia), Ireland .ie and others.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7wkFT1tZz-Mo7fwp5tUd42WL0x4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7wkFT1tZz-Mo7fwp5tUd42WL0x4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7wkFT1tZz-Mo7fwp5tUd42WL0x4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7wkFT1tZz-Mo7fwp5tUd42WL0x4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=fYytIEeRCyA:uvqJtAh61CE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=fYytIEeRCyA:uvqJtAh61CE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=fYytIEeRCyA:uvqJtAh61CE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=fYytIEeRCyA:uvqJtAh61CE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/fYytIEeRCyA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/fYytIEeRCyA/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Powerful-ASP-NET-CMS-Solution-Kentico-CMS.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3233bdfc-19c1-4453-bc1a-adb644057710</guid>
      <pubDate>Thu, 05 Nov 2009 16:45:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3233bdfc-19c1-4453-bc1a-adb644057710</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3233bdfc-19c1-4453-bc1a-adb644057710</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Powerful-ASP-NET-CMS-Solution-Kentico-CMS.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3233bdfc-19c1-4453-bc1a-adb644057710</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3233bdfc-19c1-4453-bc1a-adb644057710</feedburner:origLink></item>
    <item>
      <title>Creating an iCal like Calendar with jQuery</title>
      <description>&lt;p&gt;I wrote a blog post about FullCalendar recently. (&lt;a title="FullCalendar: jQuery Event Calendar with Drag'n Drop, Ajax Fething and Google Calendar Integration" href="http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx"&gt;FullCalendar: jQuery Event Calendar with Drag'n Drop, Ajax Fething and Google Calendar Integration&lt;/a&gt;). I have just come a cross with an astonishing calendar that looks like iPhone's calendar application: iCal.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="iPhone Calendar style calendar with jquery" src="http://www.bloggingdeveloper.com/posts/ical-calendar.jpg" alt="iPhone Calendar style calendar with jquery" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;iCal style calendar with jQuery&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This calendar is built with CSS and jQuery. It also features a lightweight Coda-like effect for event descriptions. You can find more details about the calendar &lt;a title="Creating an iCal like Calendar with jQuery" href="http://www.stefanoverna.com/log/create-astonishing-ical-like-calendars-with-jquery" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/1DlcWwWlclsvdPcR3WWeJw2PbS4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1DlcWwWlclsvdPcR3WWeJw2PbS4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/1DlcWwWlclsvdPcR3WWeJw2PbS4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/1DlcWwWlclsvdPcR3WWeJw2PbS4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cTK5kpUYmXc:PCy7i9sDRyU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cTK5kpUYmXc:PCy7i9sDRyU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cTK5kpUYmXc:PCy7i9sDRyU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cTK5kpUYmXc:PCy7i9sDRyU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/cTK5kpUYmXc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/cTK5kpUYmXc/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Creating-an-iCal-like-Calendar-w.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=65342df1-65b1-4435-8359-cd537449aa95</guid>
      <pubDate>Thu, 05 Nov 2009 16:00:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=65342df1-65b1-4435-8359-cd537449aa95</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=65342df1-65b1-4435-8359-cd537449aa95</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Creating-an-iCal-like-Calendar-w.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=65342df1-65b1-4435-8359-cd537449aa95</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=65342df1-65b1-4435-8359-cd537449aa95</feedburner:origLink></item>
    <item>
      <title>FullCalendar: jQuery Event Calendar with Drag'n Drop, Ajax Fetching and Google Calendar Integration</title>
      <description>&lt;p&gt;&lt;strong&gt;jQuery&lt;/strong&gt; is a fast and concise &lt;strong&gt;Javascript Library&lt;/strong&gt; that simplifies &lt;strong&gt;document traversing&lt;/strong&gt;, &lt;strong&gt;event handling&lt;/strong&gt;, &lt;strong&gt;animating&lt;/strong&gt; and &lt;strong&gt;Ajax interactions&lt;/strong&gt; for &lt;strong&gt;rapid web development&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a title="FullCalendar - jQuery Calendar Plugin" href="http://arshaw.com/fullcalendar" target="_blank"&gt;FullCalendar&lt;/a&gt; is a &lt;strong&gt;jQuery plugin&lt;/strong&gt; that provides &lt;strong&gt;full-sized&lt;/strong&gt;, &lt;strong&gt;drag and drop&lt;/strong&gt; &lt;strong&gt;capable calendar&lt;/strong&gt;. It utilizes &lt;strong&gt;Ajax &lt;/strong&gt;to fetch events on the fly. It is easily configurable to use custom feed format and also has an&lt;strong&gt; extension for Google Calendar&lt;/strong&gt;. The calendar is highly customizable and has support for&lt;strong&gt; user event triggering&lt;/strong&gt; for &lt;strong&gt;window resize&lt;/strong&gt;, &lt;strong&gt;loading&lt;/strong&gt;, &lt;strong&gt;day click&lt;/strong&gt;,&lt;strong&gt; event click&lt;/strong&gt;, &lt;strong&gt;event drop&lt;/strong&gt;, etc.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jquery calendar plugin" src="http://www.bloggingdeveloper.com/posts/fullcalendar.jpg" alt="FullCalendar - jQuery Calendar Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;FullCalendar - jQuery Calendar Plugin with Drag'n Drop and Ajax Capabilities&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;FullCalendar comes with the following available views:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;month view&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;week view&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;day view&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;agenda week view&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;agenda day view&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pJDL_G-qZVA1lZLQuhhM1QDLuV0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJDL_G-qZVA1lZLQuhhM1QDLuV0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pJDL_G-qZVA1lZLQuhhM1QDLuV0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pJDL_G-qZVA1lZLQuhhM1QDLuV0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5C8Y7RAV0_0:_f4ngt9-gJk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5C8Y7RAV0_0:_f4ngt9-gJk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5C8Y7RAV0_0:_f4ngt9-gJk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5C8Y7RAV0_0:_f4ngt9-gJk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/5C8Y7RAV0_0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/5C8Y7RAV0_0/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=83782dfe-2ed6-4b2b-a599-259f945d6ec9</guid>
      <pubDate>Thu, 05 Nov 2009 13:37:00 +0200</pubDate>
      <category>Ajax</category>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=83782dfe-2ed6-4b2b-a599-259f945d6ec9</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=83782dfe-2ed6-4b2b-a599-259f945d6ec9</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/FullCalendar-jQuery-Event-Calendar-with-Dragn-Drop-Ajax-Fething-and-Google-Calendar-Integration.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=83782dfe-2ed6-4b2b-a599-259f945d6ec9</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=83782dfe-2ed6-4b2b-a599-259f945d6ec9</feedburner:origLink></item>
    <item>
      <title>Crop Images with jCrop: Cross-Browser jQuery Pluging for Image Cropping</title>
      <description>&lt;p&gt;jQuery Plugin, &lt;a title="Image cropping with jQuery" href="http://deepliquid.com/content/Jcrop.html" target="_blank"&gt;jCrop&lt;/a&gt; provides an easy and quick way to add image cropping functionality to your web applications. jCrop combines ease of use of a plug-in and cross browser and cross platform DHTML cropping engine.&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Image Cropping with Javascript" src="http://www.bloggingdeveloper.com/posts/jCrop.jpg" alt="Image Cropping with jQuery" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jCrop: jQuery Image Cropping Plugin&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h4&gt;jCrop Features:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Attaches any image in the HTML&lt;/li&gt;
&lt;li&gt;Supports aspect ratio locking&lt;/li&gt;
&lt;li&gt;Supports min. and max. sizes&lt;/li&gt;
&lt;li&gt;Supports callback events&lt;/li&gt;
&lt;li&gt;Supports CSS styling&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;As mentioned earlier, jCrop is cross-platform and compatible with &lt;strong&gt;Firefox 2+&lt;/strong&gt;, &lt;strong&gt;Safari 3+&lt;/strong&gt;, &lt;strong&gt;Opera 9.5+&lt;/strong&gt;, &lt;strong&gt;Google Chrome&lt;/strong&gt;, &lt;strong&gt;Internet Explorer 6+&lt;/strong&gt;.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XqL_Skr2fSAWugNOCTc8yNrKgHU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XqL_Skr2fSAWugNOCTc8yNrKgHU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XqL_Skr2fSAWugNOCTc8yNrKgHU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XqL_Skr2fSAWugNOCTc8yNrKgHU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5x-6S0KweAQ:zkuekpvvW4M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5x-6S0KweAQ:zkuekpvvW4M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5x-6S0KweAQ:zkuekpvvW4M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5x-6S0KweAQ:zkuekpvvW4M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/5x-6S0KweAQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/5x-6S0KweAQ/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Crop-Images-with-jCrop-Cross-Browser-jQuery-Pluging-for-Image-Cropping.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=de801ebe-5c01-4d0e-9857-a2694203723f</guid>
      <pubDate>Tue, 03 Nov 2009 12:23:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=de801ebe-5c01-4d0e-9857-a2694203723f</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=de801ebe-5c01-4d0e-9857-a2694203723f</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Crop-Images-with-jCrop-Cross-Browser-jQuery-Pluging-for-Image-Cropping.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=de801ebe-5c01-4d0e-9857-a2694203723f</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=de801ebe-5c01-4d0e-9857-a2694203723f</feedburner:origLink></item>
    <item>
      <title>How To Create Strong Passwords – Tips on increasing your online security</title>
      <description>&lt;p&gt;&lt;strong&gt;Creating strong passwords&lt;/strong&gt; is key to your online security. Since the computers trying to &lt;strong&gt;hack passwords&lt;/strong&gt; are getting more powerful everyday, passwords you are using could be the weakest link you are using.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Password cracking tools&lt;/strong&gt; use one of the following approaches:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Guessing&lt;/strong&gt; &amp;ndash; using personal information (ex: using date of birth, phone number as password)&amp;nbsp; &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dictionary Attacks&lt;/strong&gt; &amp;ndash; using single words found in dictionaries as password&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bruce Force Attack&lt;/strong&gt; &amp;ndash; trying every possible password&lt;/li&gt;
&lt;/ol&gt;&amp;nbsp;
&lt;p&gt;A brute force attack will always be successful if there is no limit to the number of attempts. In order to delay a brute force attack, a strong password should be chosen.&lt;/p&gt;
&lt;h4&gt;Guide to Strong Passwords:&lt;/h4&gt;
&lt;p&gt;A strong password should:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Contain 8 or more characters &lt;/li&gt;
&lt;li&gt;Combine letters, numbers and symbols &lt;/li&gt;
&lt;li&gt;Be easy to remember, but should not contain any easy to guess personal information&lt;br /&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You should:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;avoid sequences (ex: abcdef) or repeated characters (ex: 55555) &lt;/li&gt;
&lt;li&gt;avoid look-a-like substitutions of numbers or symbols (ex:p@ssword) &lt;/li&gt;
&lt;li&gt;not use your login name as password &lt;/li&gt;
&lt;li&gt;avoid using the same password for all accounts&lt;/li&gt;
&lt;/ol&gt; &amp;nbsp;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/bg7vN3rnLxXxgYyywbaC8UFA9aE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bg7vN3rnLxXxgYyywbaC8UFA9aE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/bg7vN3rnLxXxgYyywbaC8UFA9aE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/bg7vN3rnLxXxgYyywbaC8UFA9aE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=wrApnxA5JZQ:bkA1l71CkDs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=wrApnxA5JZQ:bkA1l71CkDs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=wrApnxA5JZQ:bkA1l71CkDs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=wrApnxA5JZQ:bkA1l71CkDs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/wrApnxA5JZQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/wrApnxA5JZQ/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/How-To-Create-Strong-Passwords-Tips-on-increasing-your-online-security.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=4c9c7f06-11c7-48ed-9704-31f184d1d594</guid>
      <pubDate>Mon, 02 Nov 2009 20:44:00 +0200</pubDate>
      <category>All</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=4c9c7f06-11c7-48ed-9704-31f184d1d594</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=4c9c7f06-11c7-48ed-9704-31f184d1d594</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Create-Strong-Passwords-Tips-on-increasing-your-online-security.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=4c9c7f06-11c7-48ed-9704-31f184d1d594</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=4c9c7f06-11c7-48ed-9704-31f184d1d594</feedburner:origLink></item>
    <item>
      <title>How to Add Functional Tooltips to your Form Elements Easily - Embedding jQuery Tooltips in Form Fields</title>
      <description>&lt;p&gt;I believe that &lt;strong&gt;tooltips&lt;/strong&gt; are one of the most important and useful Javascript widgets on the web. Many libraries and plug-ins are available for jQuery that enable easy implementation of tool tips: &lt;strong&gt;qTip&lt;/strong&gt;, &lt;strong&gt;SimpleTip&lt;/strong&gt;, &lt;strong&gt;jQuery Tooltip&lt;/strong&gt;, &lt;strong&gt;EZPZ Tooltip&lt;/strong&gt;, &lt;strong&gt;jQuery Input Floating Hint Box&lt;/strong&gt;, &lt;strong&gt;HTML ToolTip&lt;/strong&gt;, &lt;strong&gt;Orbital Tooltip&lt;/strong&gt;, &lt;strong&gt;Tipsy&lt;/strong&gt;, &lt;strong&gt;ClueTip&lt;/strong&gt;, &lt;strong&gt;jTip&lt;/strong&gt;, &lt;strong&gt;BeautyTips&lt;/strong&gt;, &lt;strong&gt;Hovertips&lt;/strong&gt;, &lt;strong&gt;BetterTip&lt;/strong&gt;, &lt;strong&gt;jqTooltip&lt;/strong&gt;...&lt;/p&gt;
&lt;p&gt;I love using&lt;strong&gt; tool tips in forms&lt;/strong&gt;. An automatic appearing box with hint, when user focuses on an input increases the usability of the form. I have used many tooltip plugins but recently I have discovered an easy-to use one: &lt;a title="Embedding jQuery Tooltips in Form Fields - How to Add Functional Tooltips to your Form Elements Easily" href="http://flowplayer.org/tools/tooltip.html" target="_blank"&gt;Tooltip Plug-in from jQuery Tools&lt;/a&gt;. It is really easy to use and can be customized. It can contain any HTML Element such as images, links and tables. Beside the default effect "slice-up and toogle", you can easily built your own effects.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery ToolTip Plug-in" src="http://www.bloggingdeveloper.com/posts/jquery_tools_tooltip_1.jpg" alt="Tooltip Plug-in from jQuery Tools" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Tooltip Plug-in from jQuery Tools&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;For basic usage: each tooltip should be specified in the title attribute of each form element.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery ToolTip Plug-in" src="http://www.bloggingdeveloper.com/posts/jquery_tools_tooltip_3.jpg" alt="Tooltip Plug-in from jQuery Tools" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Tooltip Plug-in from jQuery Tools - each tooltip should be specified in the title attribute of each form element&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;With advanced features, you can customize tooltip's appearance and dimensions with CSS. Moreover, the positioning of the tooltip can be modified easily.&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery ToolTip Example" src="http://www.bloggingdeveloper.com/posts/jquery_tools_tooltip_2.jpg" alt="Tooltip Plug-in from jQuery Tools - Example" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Tooltip Plug-in from jQuery Tools - Example&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/7ogW7DbnF7pwazORkVKCL9yUBPo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7ogW7DbnF7pwazORkVKCL9yUBPo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/7ogW7DbnF7pwazORkVKCL9yUBPo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/7ogW7DbnF7pwazORkVKCL9yUBPo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=TZlZu0DW8BY:bE8U95SkoE8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=TZlZu0DW8BY:bE8U95SkoE8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=TZlZu0DW8BY:bE8U95SkoE8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=TZlZu0DW8BY:bE8U95SkoE8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/TZlZu0DW8BY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/TZlZu0DW8BY/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Embedding-jQuery-Tooltips-in-Form-Fields-How-to-Add-Functional-Tooltips-to-your-Form-Elements.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3560b118-1d81-4260-88af-1c7a7114b5c7</guid>
      <pubDate>Thu, 29 Oct 2009 16:12:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3560b118-1d81-4260-88af-1c7a7114b5c7</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3560b118-1d81-4260-88af-1c7a7114b5c7</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Embedding-jQuery-Tooltips-in-Form-Fields-How-to-Add-Functional-Tooltips-to-your-Form-Elements.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3560b118-1d81-4260-88af-1c7a7114b5c7</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3560b118-1d81-4260-88af-1c7a7114b5c7</feedburner:origLink></item>
    <item>
      <title>jQuery.popeye: A Lightbox Alternative</title>
      <description>&lt;p&gt;&lt;a title="Lightbox" href="http://www.lokeshdhakar.com/projects/lightbox2/" target="_blank"&gt;Lightbox&lt;/a&gt;&amp;nbsp;is the first unobtrusive script that allowed us to display enlarged versions of images embedded in web pages without displaying pop-ups or leaving the page. Basically, lightbox adds a semi-transparent layer to the page which contains the enlarged image centered.&amp;nbsp;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery.popeye: A Lightbox Alternative" src="http://www.bloggingdeveloper.com/posts/popeye_lightbox_alternative_1.jpg" alt="jQuery Lightbox Alternative Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery.popeye: A Lightbox Alternative&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a title="jquery.popeye lightbox alternative" href="http://herr-schuessler.de/blog/jquery-popeye-1-0-released/" target="_blank"&gt;jQuery.popeye&lt;/a&gt;&amp;nbsp;is an image gallery which is an alternative to the famous Javascript Lightbox, that offers consistent look &amp;amp; feel with the rest of your website. When compared to other Lightbox alternatives, it is more integrated into the flow of the web page. It offers a box with a small preview image with caption, the possibility to flip trough an array of more thumbnails and to show an enlarged version in the same place.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="jQuery.popeye: A Lightbox Alternative" src="http://www.bloggingdeveloper.com/posts/popeye_lightbox_alternative_2.jpg" alt="jQuery Lightbox Alternative Plugin" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;jQuery.popeye: A Lightbox Alternative&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;The plugin transforms an unordered list of images into a box displaying only one preview image at a time.&amp;nbsp;The box has controls to skim through the preview images and to enlarge a given image. The box expands to accomodate the enlarged version, while the controls are hidden in full image size mode. A simple click on the image returns the box to its compact state. The compact box has fixed, automatically calculated dimensions. The width and height are calculated so that all thumbnail images are cropped to the smallest width and height in the set and centered resulting image area.&lt;/p&gt;
&lt;p&gt;Click here for a &lt;a title="Demo lightbox jquery.popeye plugin" href="http://dev.herr-schuessler.de/examples/jquery-popeye-1-0/" target="_blank"&gt;demo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NAZ6hlf7QxknewG8xDg0jlz-csc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NAZ6hlf7QxknewG8xDg0jlz-csc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NAZ6hlf7QxknewG8xDg0jlz-csc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NAZ6hlf7QxknewG8xDg0jlz-csc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=7kVSlLKlAks:LnJTAivV0S4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=7kVSlLKlAks:LnJTAivV0S4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=7kVSlLKlAks:LnJTAivV0S4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=7kVSlLKlAks:LnJTAivV0S4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/7kVSlLKlAks" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/7kVSlLKlAks/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-popeye-A-Lightbox-Alternative.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=5586f755-2458-4119-9adc-85597f1381e8</guid>
      <pubDate>Thu, 22 Oct 2009 16:45:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=5586f755-2458-4119-9adc-85597f1381e8</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=5586f755-2458-4119-9adc-85597f1381e8</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-popeye-A-Lightbox-Alternative.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=5586f755-2458-4119-9adc-85597f1381e8</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=5586f755-2458-4119-9adc-85597f1381e8</feedburner:origLink></item>
    <item>
      <title>Top 7 Easy-to-Apply Tips to Improve Your Web Site Performance</title>
      <description>&lt;p align="justify"&gt;A lot of articles have been written on website performance optimization lately but I want to share my hands-on-experience and important articles on the subject.&lt;/p&gt;
&lt;p align="justify"&gt;There are two types of performance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Server Performance&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Perceived Performance&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Server Performance is associated with the number requests that a server can handle at a time and the time needed to process these requests. On high volume websites, since it determines the number of users a machine can serve before additional server is needed, this performance aspect is very important.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Perceived Performance is the speed of websites in visitors&amp;rsquo; perspective. Even if the server performance is high, a site may appear slow to a visitor because of slow client-side performance.&lt;/p&gt;
&lt;p align="justify"&gt;This article focuses perceived performance tuning by supplying reasons for poor client-side performance and details out how we can achieve better client-side performance.&lt;/p&gt;
&lt;h2&gt;1. Make Fewer HTTP Requests&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;A dedicated team focused on quantifying and improving the performance of Yahoo! Products worldwide conducted experiments to learn more about optimizing web page performance. They discovered that popular sites spend between 5% and 38% of the time downloading the HTML document. The other 62% to 95% of the time is spent making HTTP requests to get components in the HTML document.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Only 10% of 2.4 seconds is spent for downloading the html of Yahoo.com" src="/posts/performance/pageload.gif" alt="Each bar represents a specific component requested by the browser" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Each bar represents a specific component requested by the browser - Only 10% of 2.4 seconds is spent for downloading the html of Yahoo.com&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Since browsers only are able to download two components on parallel per hostname, and every HTTP request has an average round-trip latency of 0.2 seconds, that causes a 2 second latency alone, if the site is loading 20 items, regardless of whether they are style sheets, images or scripts. (on an average broadband connection with a browser capable of downloading two components at a time).&lt;/p&gt;
&lt;p align="justify"&gt;Since browsers spend approximately 80% of the time fetching external components such as scripts, style sheets and images. Reducing the number of HTTP requests has the biggest impact on improving website performance. Moreover, it is the easiest way to make a performance improvement.&lt;/p&gt;
&lt;p class="update"&gt;&lt;strong class="updatetitle"&gt;UPDATE&lt;/strong&gt; &lt;a title=" How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance" href="http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx"&gt;How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance&lt;/a&gt; article focuses on ways of minimizing HTTP Requests to maximize web site performance.&lt;/p&gt;
&lt;h2&gt;2. Enforce Caching&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="jsutify"&gt;If you examine the preferences dialog of any modern Web browser (like Internet Explorer, Safari or Mozilla), you&amp;rsquo;ll probably notice a &lt;strong&gt;cache&lt;/strong&gt; setting. This lets you set a section of your computer&amp;rsquo;s hard disk to store copies of web pages, images and media for faster browsing.&lt;/p&gt;
&lt;p align="justify"&gt;This cache is especially useful when users hit the &lt;strong&gt;back&lt;/strong&gt; button or click a link to see a page they&amp;rsquo;ve just looked at. Also, if navigation images throughout a site are the same, they&amp;rsquo;ll be served from browser's cache.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Internet Explorer Cache Settings" src="/posts/performance/ie_temporaryinternetfiles.gif" alt="Internet Explorer Cache Settings" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Internet Explorer Cache Settings&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Web caching is useful for three important reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reduce user-perceived Web-site delays, &lt;/li&gt;
&lt;li&gt;Reduce network bandwidth usage,&lt;/li&gt;
&lt;li&gt;Reduce server loads.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;The Yahoo! Performance Team conducted another experiment to understand the difference between an empty cache (browser requests all the components to load the page) and full cache (most of the components are found in the disk to load the page and the HTTP requests corresponding to these components are avoided).&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Loading Yahoo.com with full cache" src="/posts/performance/pageload-fullcache.gif" alt="Loading Yahoo.com with full cache" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Loading Yahoo.com with full cache&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Loading with an empty cache took 2.4 while loading with a full cache took 0.9 seconds. The full cache page view had 90% fewer HTTP requests and 83% fewer bytes to download than the empty cache page view.&lt;/p&gt;
&lt;h2&gt;3. Use HTTP Compression&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;The time it takes to transfer an HTTP request and response across the network can be significantly reduced by making fewer http requests. On the other hand, the end-user's bandwidth speed, Internet service providers are beyond the control of the development team. However compression reduces response times by reducing the size of the HTTP response.&lt;/p&gt;
&lt;p align="justify"&gt;In the case of HTTP compression, a standard gzip or deflate encoding method is applied to the payload of an HTTP response, significantly compressing the resource before it is transported across the web.&lt;/p&gt;
&lt;p align="justify"&gt;HTTP Compression is implemented on the server side as module which applies gzip algorithm to responses as the server sends them out. Any text based content such as static HTML content, style sheets, JavaScript. It is usually possible to cache the static content in order to avoid repeatedly compressing the same file. On the other hand, dynamic content such as .asp, .aspx, .php files must be recompressed before served.  This means that there is trade off to be considered between processor utilization and payload reduction.&lt;/p&gt;
&lt;p align="justify"&gt;If the primary goal is bandwidth savings, the strategy should be to compress all text-based output. Ideally, this should include static text files (such as HTML and CSS) and files that produce output in text media MIME types (such as ASP and ASP.NET files), as well as files that are text based but of another media type (such as external JavaScript files).&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression." src="/posts/performance/httpcompression.gif" alt="Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression." /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Bloggingdeveloper.com utilizes gzip compression. 74% bandwidth is saved by compression.&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;4. Increase the Number of Parallel Requests&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;As I mentioned earlier, browsers are able to download two or four components on parallel per hostname.  So we may increase the number of parallel downloads by using additional aliases such as images.bloggingdeveloper.com.  According to the results of experiments conducted by Yahoo! Performance Team, using too many hostnames increases the amount of simultaneous HTTP requests but it will also increase the amount of DNS requests which affects the performance negatively. The Performance Team mentioned a strong balance between the number of parallel HTTP requests and required DNS requests to be performed of 2 to 4 hostnames. For higher number of hostnames, you may negatively affect the performance.&lt;/p&gt;
&lt;h2&gt;5. Place StyleSheets into the Header&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Web developers that care about performance want browser to load whatever content it has as soon as possible. This fact is especially important for pages with a lot of content and for users with slow Internet connections. When the browser loads the page progressively the header, the logo, the navigation components serve as visual feedback for the user.&lt;/p&gt;
&lt;p align="justify"&gt;When we place style sheets near the bottom part of the html, most browsers stop rendering to avoid redrawing elements of the page if their styles change.&lt;/p&gt;
&lt;h2&gt;6. Put Scripts to the end of Document&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Unlike StyleSheets, it is better to place scripts to the end of the document. Progressive rendering is blocked until all StyleSheets have been downloaded. Scripts cause progressive rendering to stop for all content below the script until it is fully loaded. Moreover, while downloading a script, browser does not start any other component downloads, even on different hostnames.&lt;/p&gt;
&lt;h2&gt;7. Make JavaScript and CSS External&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p align="justify"&gt;Using external files generally produces faster pages because the JavaScript and CSS files are cached by the browser. Inline JavaScript and CSS increases the HTML document size but reduces the number of HTTP requests. With cached external files, the size of the HTML is kept small without increasing the number of HTTP requests.&lt;/p&gt;
&lt;h3&gt;Additional Reading&lt;/h3&gt;
&lt;p align="justify"&gt;&lt;a rel="nofollow" href="http://yuiblog.com/blog/2007/01/04/performance-research-part-2/" target="_blank"&gt; Browser Cache Usage &amp;ndash; Exposed! by Tenni Theurer&lt;/a&gt;&lt;br /&gt; &lt;a rel="nofollow" href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/" target="_blank"&gt; What the 80/20 Rule Tells Us about Reducing HTTP Requests &amp;ndash; by Tenni Theurer&lt;/a&gt;&lt;br /&gt; &lt;a rel="nofollow" href="http://yuiblog.com/blog/2007/04/11/performance-research-part-4/" target="_blank"&gt; Maximizing Parallel Downloads in the Carpool Lane - by Tenni Theurer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4zfOyHzapnUXZXConIYyzHeJ24Q/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4zfOyHzapnUXZXConIYyzHeJ24Q/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4zfOyHzapnUXZXConIYyzHeJ24Q/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4zfOyHzapnUXZXConIYyzHeJ24Q/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=nBGSxOLpyug:PNtFsC4fKC0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=nBGSxOLpyug:PNtFsC4fKC0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=nBGSxOLpyug:PNtFsC4fKC0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=nBGSxOLpyug:PNtFsC4fKC0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/nBGSxOLpyug" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/nBGSxOLpyug/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</guid>
      <pubDate>Mon, 14 Sep 2009 09:38:00 +0200</pubDate>
      <category>All</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=99d9d327-eca8-40bc-b1f3-c15b8b9ec5db</feedburner:origLink></item>
    <item><title>Links for 2009-09-11 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/a3XE97ejFcU/bloggingdeveloper</link><pubDate>Sat, 12 Sep 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2009-09-11</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-Deeply-CSS-Javascript-jQuery.aspx"&gt;Image Preloading Deeply - CSS/Javascript/jQuery&lt;/a&gt;&lt;br/&gt;
Browsers load images after an HTTP request is sent for them either by &amp;lt;img&amp;gt; tag or through a javascript call. If you have a javascript function that changes an image on mouseover, you have to wait while the image is retrieved from the server. This would be disturbing when users have a slow internet connection or when the images being retrieved are very large. Although most of the browsers store images in the local cache so that subsequent calls to them are responded immediately, there is still a delay in the first time the images are needed.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-Javascript-or-CSS-Comparing-the-techniques.aspx"&gt;Image Preloading: Javascript or CSS &amp;ndash; Comparing the techniques&lt;/a&gt;&lt;br/&gt;
For better display and visitor interaction, image preloading must be implemented in some cases.  Previously we focused on two techniques to achieve image preloading in the following posts:

Image Preloading with Javascript
Preloading Images Using CSS

Today, I would like to compare these two methods to understand the safest and easiest method for preloading images:&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/jQuery-Colorize-Plugin-for-Alternating-Table-Row-ColorColumn-Color.aspx"&gt;jQuery Colorize - Plugin for Alternating Table Row Color/Column Color&lt;/a&gt;&lt;br/&gt;
When displaying tables in web pages, alternating the background color of each row can increase readability. The jQuery plugin Colorize helps us to alternate table rows and columns, add highlight effect on mouse over and colorize a row/column on mouse click.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/a3XE97ejFcU" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2009-09-11</feedburner:origLink></item><item>
      <title>Image Preloading Deeply - CSS/Javascript/jQuery</title>
      <description>&lt;p&gt;Browsers load images after an HTTP request is sent for them either by &amp;lt;img&amp;gt; tag or through a javascript call. If you have a javascript function that changes an image on mouseover, you have to wait while the image is retrieved from the server. This would be disturbing when users have a slow internet connection or when the images being retrieved are very large. Although most of the browsers store images in the local cache so that subsequent calls to them are responded immediately, there is still a delay in the first time the images are needed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Image preloading is a technique of caching images to speed up their display by using browser&amp;rsquo;s cache even before they are needed.&lt;/p&gt;
&lt;p&gt;Recently, we focused on image preloading deeply with the following posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-Javascript.aspx"&gt;Image Preloading with Javascript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-jQuery.aspx"&gt;Image Preloading with jQuery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-Using-CSS.aspx"&gt;Preloading Images Using CSS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-Javascript-or-CSS-Comparing-the-techniques.aspx"&gt;Preloading Images: Javascript or CSS &amp;ndash; Comparing the techniques&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h7ecjjOfQa2RCBjcQELMwaclvUk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h7ecjjOfQa2RCBjcQELMwaclvUk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h7ecjjOfQa2RCBjcQELMwaclvUk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h7ecjjOfQa2RCBjcQELMwaclvUk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mUr2bS6nk8w:CXHWlM8ujLw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mUr2bS6nk8w:CXHWlM8ujLw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mUr2bS6nk8w:CXHWlM8ujLw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mUr2bS6nk8w:CXHWlM8ujLw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/mUr2bS6nk8w" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/mUr2bS6nk8w/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Image-Preloading-Deeply-CSS-Javascript-jQuery.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=8ff7ac0e-67f0-4ce6-ac3e-b72942e260cc</guid>
      <pubDate>Fri, 11 Sep 2009 13:34:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=8ff7ac0e-67f0-4ce6-ac3e-b72942e260cc</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=8ff7ac0e-67f0-4ce6-ac3e-b72942e260cc</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Image-Preloading-Deeply-CSS-Javascript-jQuery.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=8ff7ac0e-67f0-4ce6-ac3e-b72942e260cc</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=8ff7ac0e-67f0-4ce6-ac3e-b72942e260cc</feedburner:origLink></item>
    <item>
      <title>How to: Image Preload: Javascript (jQuery) or CSS – Comparing the techniques</title>
      <description>&lt;p&gt;For better display and visitor interaction, image preloading must be implemented in some cases. &amp;nbsp;Previously we focused on two techniques to achieve image preloading in the following posts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-Javascript.aspx"&gt;&lt;strong&gt;Image Preloading with Javascript&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-Using-CSS.aspx"&gt;&lt;strong&gt;Preloading Images Using CSS&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;br /&gt;Today, I would like to &lt;strong&gt;compare these two methods to understand the safest and easiest method for preloading images&lt;/strong&gt;:&lt;/p&gt;
&lt;h3&gt;Preloading with Javascript:&lt;/h3&gt;
&lt;p&gt;In order to &lt;strong&gt;preload images with Javascript&lt;/strong&gt;, browsers should support Javascript and it should be turned on. Without Javascript, the preloading will not happen and each time the image is needed, it will be fetched. If the preloaded images will be used on image effects such as rollovers or other effects that require Javascript, preloading with Javascript is the best choice. That way, for browsers that are not supporting Javascript, the images will not be preloaded.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The Javascript preloading code can be placed anywhere in the page including the HEAD area of the page. If all preloading is done with JS, most of the search engine spiders won&amp;rsquo;t index the images.&lt;/p&gt;
&lt;h3&gt;Preloading with CSS:&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Preloading with CSS&lt;/strong&gt; will work even if the browser&amp;rsquo;s Javascript is turned off. The CSS preloading section should be placed in the BODY of the HTML.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Search engine spiders indexes the images when they are preloaded with CSS.&lt;/p&gt;
&lt;h3&gt;Notes on Image Preloading:&lt;/h3&gt;
&lt;p&gt;Users with slow Internet connection speeds will navigate away if you preload too many or too large images before page content is displayed.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The JavaScript and the CSS/HTML image preloading code can be used on the same web page at the same time.&lt;/p&gt;
&lt;p&gt;Both techniques can be used more than once on the same web page to preload additional images at different points.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/4fawz-bv3m3Uyg-Ujc08YLAWC98/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4fawz-bv3m3Uyg-Ujc08YLAWC98/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/4fawz-bv3m3Uyg-Ujc08YLAWC98/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/4fawz-bv3m3Uyg-Ujc08YLAWC98/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=C1nsp0-yLws:RADxJ17qZtM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=C1nsp0-yLws:RADxJ17qZtM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=C1nsp0-yLws:RADxJ17qZtM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=C1nsp0-yLws:RADxJ17qZtM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/C1nsp0-yLws" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/C1nsp0-yLws/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Preloading-Images-Javascript-or-CSS-Comparing-the-techniques.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=93031053-c471-45cc-b43a-c4abe178b259</guid>
      <pubDate>Fri, 11 Sep 2009 12:06:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=93031053-c471-45cc-b43a-c4abe178b259</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=93031053-c471-45cc-b43a-c4abe178b259</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Preloading-Images-Javascript-or-CSS-Comparing-the-techniques.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=93031053-c471-45cc-b43a-c4abe178b259</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=93031053-c471-45cc-b43a-c4abe178b259</feedburner:origLink></item>
    <item>
      <title>Preloading Images Using CSS</title>
      <description>&lt;p&gt;&lt;strong&gt;Preloading images decreases page load time and enhance user experience&lt;/strong&gt;. In the previous articles: &lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-Javascript.aspx"&gt;Image Preloading with Javascript&lt;/a&gt; and &lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-jQuery.aspx"&gt;Image Preloading with jQuery&lt;/a&gt;, we focused on techniques to preload images using Javascript.&lt;/p&gt;
&lt;p&gt;In this post, I would like to focus on &lt;strong&gt;another image preload technique using CS&lt;/strong&gt;&lt;strong&gt;S&lt;/strong&gt;. And on another post, I &lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-Javascript-or-CSS-e28093-Comparing-the-techniques.aspx"&gt; compared two image preloading techniques to understand advantages and disadvantages of both method - Preloading Images: Javascript or CSS &amp;ndash; Comparing the techniques&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Image preloading with CSS can be achieved by a simple &amp;lt;div&amp;gt; with style &amp;ldquo;display:none;&amp;rdquo; containing all &amp;lt;img&amp;gt; tags of images to be preloaded.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;div style="display:none;"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;img src="/images/imageA.jpg" &amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;lt;img src="/images/imageB.jpg" &amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;/p&gt;
&lt;p&gt;The CSS preloading code must be in the BODY area of the HTML code. It will not work in the HEAD section. The optimum position depends on how the preloaded images will be used. If the images will be used sometime after the web page has finished loading, the preload &amp;lt;div&amp;gt; can be placed below the page content. If the images will be used immediately, such as automatic background image change, the preload &amp;lt;div&amp;gt; should be placed on the top section of the BODY area.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/PYHAu9K0BC5qZ2ZY8_HvX12-33U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PYHAu9K0BC5qZ2ZY8_HvX12-33U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/PYHAu9K0BC5qZ2ZY8_HvX12-33U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/PYHAu9K0BC5qZ2ZY8_HvX12-33U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZoH-YahiGBE:71cDmWjfjwE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZoH-YahiGBE:71cDmWjfjwE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZoH-YahiGBE:71cDmWjfjwE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZoH-YahiGBE:71cDmWjfjwE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/ZoH-YahiGBE" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/ZoH-YahiGBE/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Preloading-Images-Using-CSS.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=569ed5e1-3352-41e7-bfcf-f56586bfffa8</guid>
      <pubDate>Fri, 11 Sep 2009 11:56:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=569ed5e1-3352-41e7-bfcf-f56586bfffa8</pingback:target>
      <slash:comments>9</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=569ed5e1-3352-41e7-bfcf-f56586bfffa8</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Preloading-Images-Using-CSS.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=569ed5e1-3352-41e7-bfcf-f56586bfffa8</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=569ed5e1-3352-41e7-bfcf-f56586bfffa8</feedburner:origLink></item>
    <item>
      <title>Image Preloading with Javascript</title>
      <description>&lt;p&gt;&lt;strong&gt;Image Preloading is a technique, often used in navigation graphics and image rollovers, to load images and put them in the browser's cache before they are needed.&lt;/strong&gt; In this post, we will focus on the Javascript technique to implement image preloading. Also, check another Javascript image preloading technique on &lt;a href="http://www.bloggingdeveloper.com/post/Image-Preloading-with-jQuery.aspx"&gt;Image Preloading with jQuery&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;The Javascript Image() Object&lt;/h3&gt;
&lt;p&gt;The simplest way to preload an image is to instantiate a new Image() object in Javascript and pass the URL of the image you want to preload.&lt;/p&gt;
&lt;p&gt;For example, if you want to preload an image, simply create a new javascript Image() object and place the script in the head section of the page to ensure it runs as soon as the page loads.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;      Image= new Image()&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;      Image.src = "pic1.jpg"&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;h3&gt;PreLoading Multiple Images with Javascript Arrays&lt;/h3&gt;
&lt;p&gt;In practice, you will need to preload more than just one image to smooth effect on image rollovers. A Javascript array of images can be preloaded as:&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; images = new Array();&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; images[0]="pic1.jpg"&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; images[1]="pic2.jpg"&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; images[2]="pic3.jpg"&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; // start preloading&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; for(i=0; i&amp;lt;=2; i++)&amp;nbsp;&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;imageObj.src=images[i];&lt;br /&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; }&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p&gt;The JavaScript image preloading code may be placed anywhere in the HTML source code. If placed in the HEAD section, images would be loaded before any of the page content is displayed. Also consider checking another image pre-loading technique with CSS at&amp;nbsp; &lt;a href="http://www.bloggingdeveloper.com/post/Preloading-Images-using-CSS.aspx"&gt;Preloading Images Using CSS&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BlMdofFBS_N-Sfl3nW1OXeDImhI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BlMdofFBS_N-Sfl3nW1OXeDImhI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BlMdofFBS_N-Sfl3nW1OXeDImhI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BlMdofFBS_N-Sfl3nW1OXeDImhI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4ddTBWm48Bw:pFRaEyl-Xmw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4ddTBWm48Bw:pFRaEyl-Xmw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4ddTBWm48Bw:pFRaEyl-Xmw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4ddTBWm48Bw:pFRaEyl-Xmw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/4ddTBWm48Bw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/4ddTBWm48Bw/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Image-Preloading-with-Javascript.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=eb5d04f2-a638-4d60-84db-d5dbaa605e3f</guid>
      <pubDate>Fri, 11 Sep 2009 11:38:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=eb5d04f2-a638-4d60-84db-d5dbaa605e3f</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=eb5d04f2-a638-4d60-84db-d5dbaa605e3f</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Image-Preloading-with-Javascript.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=eb5d04f2-a638-4d60-84db-d5dbaa605e3f</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=eb5d04f2-a638-4d60-84db-d5dbaa605e3f</feedburner:origLink></item>
    <item>
      <title>jQuery Colorize - Plugin for Alternating Table Row Color/Column Color</title>
      <description>&lt;p&gt;When displaying tables in web pages, alternating the background color of each row can increase readability. The jQuery plugin Colorize helps us to alternate table rows and columns, add highlight effect on mouse over and colorize a row/column on mouse click.&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;&lt;img title="Colorize - jQuery Plugin for alternating table row colors" src="/posts/colorize.jpg" alt="Alternating the background color of each row using jQuery" /&gt;&lt;/div&gt;
&lt;div id="explanation"&gt;Colorize - jQuery Plugin for alternating table row colors&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;The plugin is easier to implement when compared to CSS and Javascript alternating table row color techniques and highly customizable. More details about plugin parameters and the demo can be found at: &lt;br /&gt;&lt;br /&gt; &lt;a rel="nofollow" href="http://plugins.jquery.com/project/Colorize"&gt;COLORIZE &amp;ndash; JQUERY TABLE PLUGIN&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/e8IVztqWcgzZCkyh8_xfa00gSdw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e8IVztqWcgzZCkyh8_xfa00gSdw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/e8IVztqWcgzZCkyh8_xfa00gSdw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/e8IVztqWcgzZCkyh8_xfa00gSdw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mcARgeLGw28:iQCqEspzhI0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mcARgeLGw28:iQCqEspzhI0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=mcARgeLGw28:iQCqEspzhI0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=mcARgeLGw28:iQCqEspzhI0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/mcARgeLGw28" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/mcARgeLGw28/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/jQuery-Colorize-Plugin-for-Alternating-Table-Row-ColorColumn-Color.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=92f643bd-5444-429a-82ef-b40ed53cd234</guid>
      <pubDate>Thu, 10 Sep 2009 14:24:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=92f643bd-5444-429a-82ef-b40ed53cd234</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=92f643bd-5444-429a-82ef-b40ed53cd234</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/jQuery-Colorize-Plugin-for-Alternating-Table-Row-ColorColumn-Color.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=92f643bd-5444-429a-82ef-b40ed53cd234</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=92f643bd-5444-429a-82ef-b40ed53cd234</feedburner:origLink></item>
    <item>
      <title>Image Preloading with jQuery</title>
      <description>&lt;p&gt;&lt;strong&gt;Pre-loading images&lt;/strong&gt; is the key point to prevent the flickering while rendering a cool JavaScript driven animation, rollover, Ajax loader or toggle effect. If the script which is replacing an image pauses to wait for another image to load, the effect became useless. Image preloading which is pretty simple with jQuery is the solution:&lt;/p&gt;
&lt;h3&gt;PRELOADING ARRAY OF IMAGES:&lt;/h3&gt;
&lt;p&gt;The code snippet that is around the Internet for some time provides image preloading:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="code"&gt;jQuery.preloadImages = function() { &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; for(var i = 0; i&amp;lt;arguments.length; i++) &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jQuery("&amp;lt;img&amp;gt;").attr("src", arguments[i]); &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} &lt;br /&gt;}&lt;/p&gt;
&lt;p&gt;In order to use the above function, an array of image urls should be provided:&lt;/p&gt;
&lt;p class="code"&gt;$.preloadImages("image.gif", "/themes/images/BD/image2.png", &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "/themes/images/BD/flicker.jpg");&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;PRELOADING CSS IMAGES WITH JQUERY&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;ve just discovered another &lt;strong&gt;jQuery function (plug-in) that pre-loads images which are referenced in CSS files&lt;/strong&gt;. The script from the &lt;strong&gt;Filament Group&lt;/strong&gt; iterates through each rule in stylesheets attached to the page and if a rule contains an image URL, it loads the image ensuring it&amp;rsquo;s available before using it.&lt;/p&gt;
&lt;p style="text-decoration:underline"&gt;Download the plug-in&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/preloadCss.js" title="jQuery Plug-in for Preloading CSS Images"&gt;jQuery Plug-in for Preloading CSS Images&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To use this plugin, call $.preloadCssImages(); when the DOM is ready. Like this:&lt;/p&gt;
&lt;p class="code"&gt;$(document).ready(function()&lt;br /&gt;{ &amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; $.preloadCssImages(); &lt;br /&gt;});&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/wZtuuNx_l7zt21QOCAel_f1vDY8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wZtuuNx_l7zt21QOCAel_f1vDY8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/wZtuuNx_l7zt21QOCAel_f1vDY8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/wZtuuNx_l7zt21QOCAel_f1vDY8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=hVjyOR2fGtY:MqimExP3Qqg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=hVjyOR2fGtY:MqimExP3Qqg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=hVjyOR2fGtY:MqimExP3Qqg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=hVjyOR2fGtY:MqimExP3Qqg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/hVjyOR2fGtY" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/hVjyOR2fGtY/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Image-Preloading-with-jQuery.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=01fdf214-4008-4844-a7ee-b142d660c251</guid>
      <pubDate>Thu, 10 Sep 2009 10:06:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=01fdf214-4008-4844-a7ee-b142d660c251</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=01fdf214-4008-4844-a7ee-b142d660c251</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Image-Preloading-with-jQuery.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=01fdf214-4008-4844-a7ee-b142d660c251</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=01fdf214-4008-4844-a7ee-b142d660c251</feedburner:origLink></item>
    <item>
      <title>Disabling Right Click (context menu) with jQuery</title>
      <description>&lt;p&gt;There are a lot of examples of javascript code snippets to disable right click on web pages. However, jQuery makes it a lot easier:&lt;/p&gt;
&lt;p class="code"&gt;$(document).ready(function()&lt;br /&gt;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; $(document).bind("contextmenu",function(e){&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }); &lt;br /&gt;});&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/pmk3cr2sA_lWZ2yehbaCIf-5-oI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pmk3cr2sA_lWZ2yehbaCIf-5-oI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/pmk3cr2sA_lWZ2yehbaCIf-5-oI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/pmk3cr2sA_lWZ2yehbaCIf-5-oI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=O6ZtogxaVKk:oOCktSwL2zU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=O6ZtogxaVKk:oOCktSwL2zU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=O6ZtogxaVKk:oOCktSwL2zU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=O6ZtogxaVKk:oOCktSwL2zU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/O6ZtogxaVKk" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/O6ZtogxaVKk/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Cancelling-Right-Click-(context-menu)-with-jQuery.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=af18d688-8740-4c3c-9890-f614ad07f815</guid>
      <pubDate>Thu, 10 Sep 2009 09:17:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=af18d688-8740-4c3c-9890-f614ad07f815</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=af18d688-8740-4c3c-9890-f614ad07f815</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Cancelling-Right-Click-(context-menu)-with-jQuery.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=af18d688-8740-4c3c-9890-f614ad07f815</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=af18d688-8740-4c3c-9890-f614ad07f815</feedburner:origLink></item>
    <item>
      <title>Top 3 jQuery Tips for Beginners</title>
      <description>&lt;h3&gt;Hot Tip #1: Access Elements by Javascript Array Indexing&lt;/h3&gt;
&lt;p&gt;Application of a selector creates a Javascript array which can be used for accessing DOM elements with array index easily.&lt;/p&gt;
&lt;p&gt;For Example:&lt;/p&gt;
&lt;p class="code"&gt;var element = $("img")[2];&lt;/p&gt;
&lt;p&gt;will set the variable element to the second &amp;lt;img&amp;gt; element in the matched set of document's all &amp;lt;img&amp;gt; elements.&lt;/p&gt;
&lt;h3&gt;Hot Tip #2: Create Union of Elements with Multiple Selectors&lt;/h3&gt;
&lt;p&gt;Union of multiple selectors can be created by listing selectors separated by commas 'n a s'ngle call to $()&lt;/p&gt;
&lt;p&gt;For Example:&lt;/p&gt;
&lt;p class="code"&gt;$("img,p")&lt;/p&gt;
&lt;p&gt;will match all &amp;lt;img&amp;gt; and &amp;lt;p&amp;gt; elements, while the following matches all &amp;lt;div&amp;gt; elements with a title attribute and all &amp;lt;img&amp;gt; elements with alt attributes.&lt;/p&gt;
&lt;p class="code"&gt;$("div[title],img[alt]")&lt;/p&gt;
&lt;h3&gt;Hot Tip #3: Be Careful with not() and remove() methods!&lt;/h3&gt;
&lt;p&gt;.not() method removes elements from the matched set while the .remove() method removes the elements in the matched set from the HTML DOM.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/znnEhLPDuWEi0Qc76qyv8oqFWYE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/znnEhLPDuWEi0Qc76qyv8oqFWYE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/znnEhLPDuWEi0Qc76qyv8oqFWYE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/znnEhLPDuWEi0Qc76qyv8oqFWYE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5eWLcgbgR_E:AwG70kTG7I0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5eWLcgbgR_E:AwG70kTG7I0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=5eWLcgbgR_E:AwG70kTG7I0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=5eWLcgbgR_E:AwG70kTG7I0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/5eWLcgbgR_E" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/5eWLcgbgR_E/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Top-3-jQuery-Tips-for-Beginners.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=95e5f632-efcc-4a5c-9581-eed4a94992bb</guid>
      <pubDate>Wed, 09 Sep 2009 21:43:00 +0200</pubDate>
      <category>All</category>
      <category>jQuery</category>
      <category>Online Services</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=95e5f632-efcc-4a5c-9581-eed4a94992bb</pingback:target>
      <slash:comments>6</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=95e5f632-efcc-4a5c-9581-eed4a94992bb</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Top-3-jQuery-Tips-for-Beginners.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=95e5f632-efcc-4a5c-9581-eed4a94992bb</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=95e5f632-efcc-4a5c-9581-eed4a94992bb</feedburner:origLink></item>
    <item>
      <title>Get Querystring with JavaScript - Parse/Get QueryString with Client-Side JavaScript</title>
      <description>&lt;h3&gt;&lt;strong&gt;Get URL Parameters (QueryStrings) using Javascript&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Nearly all server-side programming languages have built-in functions to &lt;strong&gt;retrieve querystring values of a URL&lt;/strong&gt;. In web browsers you can access &lt;strong&gt;the querystring with client-side JavaScript&lt;/strong&gt;, but there is &lt;strong&gt;no standard way to parse out the name/value pairs&lt;/strong&gt;. So here is a &lt;strong&gt;function to return a parameter you specify&lt;/strong&gt;. The following javascript code snippet facilitates Javascript's built in &lt;strong&gt;regular expressions&lt;/strong&gt; to retrieve value of the &lt;strong&gt;key&lt;/strong&gt;. Optionally, you can specify a&lt;strong&gt; default value&lt;/strong&gt; to return&lt;strong&gt; when key does not exist&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="code"&gt;&lt;strong&gt;function getQuerystring&lt;/strong&gt;(key, default_)&lt;br /&gt; {&lt;br /&gt; &amp;nbsp; if (default_==null) default_=""; &lt;br /&gt; &amp;nbsp; key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");&lt;br /&gt; &amp;nbsp; var regex = new RegExp("[\\?&amp;amp;]"+key+"=([^&amp;amp;#]*)");&lt;br /&gt; &amp;nbsp; var qs = regex.exec(window.location.href);&lt;br /&gt; &amp;nbsp; if(qs == null)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; return default_;&lt;br /&gt; &amp;nbsp; else&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; return qs[1];&lt;br /&gt; }&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;getQuerystring function &lt;/strong&gt;is simple to use. Let's say you have the following URL:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p class="code"&gt;http://www.bloggingdeveloper.com?author=bloggingdeveloper&lt;/p&gt;
&lt;p&gt;and you want to get the "author" querystring's value:&lt;/p&gt;
&lt;p class="code"&gt;var author_value = &lt;strong&gt;getQuerystring&lt;/strong&gt;('author');&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Download querystring.js&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/querystring.js" title="Get querystring.js"&gt;Get querystring.js&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you execute code shown in the above line,  the &lt;strong&gt;author_value&lt;/strong&gt; will be &lt;strong&gt;bloggingdeveloper&lt;/strong&gt;. The &lt;strong&gt;query string&lt;/strong&gt; is parsed by the &lt;strong&gt;regular expression&lt;/strong&gt; and the value of the &lt;strong&gt;author_value&lt;/strong&gt; parameter is retrieved. The function is smart in a couple of ways. For example, if you have an anchor in your URL like our example URL above does (#top) the &lt;strong&gt;getQuerystring()&lt;/strong&gt; function knows to stop before the # character. Also, if a &lt;strong&gt;requested parameter&lt;/strong&gt; doesn't exist in the query string and the default value is not specified as a function parameter then an empty string is returned instead of a null.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MJ9udJBwZywpm0i5o6DaMuT_I74/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MJ9udJBwZywpm0i5o6DaMuT_I74/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MJ9udJBwZywpm0i5o6DaMuT_I74/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MJ9udJBwZywpm0i5o6DaMuT_I74/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DyZzeFjPLCU:MRSGObIS7qg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DyZzeFjPLCU:MRSGObIS7qg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DyZzeFjPLCU:MRSGObIS7qg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DyZzeFjPLCU:MRSGObIS7qg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DyZzeFjPLCU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DyZzeFjPLCU/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</guid>
      <pubDate>Fri, 11 Jul 2008 10:00:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</pingback:target>
      <slash:comments>7</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d7e1b403-51a3-43fc-9f81-a46d577869df</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-QueryString-ParseGet-QueryString-with-Client-Side-JavaScript.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d7e1b403-51a3-43fc-9f81-a46d577869df</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d7e1b403-51a3-43fc-9f81-a46d577869df</feedburner:origLink></item>
    <item>
      <title>Javascript Delayed Redirect</title>
      <description>&lt;p align="justify"&gt;&lt;strong&gt;Time delay in url redirection&lt;/strong&gt; may be useful for the following conditions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Refresh a web page&lt;/strong&gt; in every specified seconds.&lt;/li&gt;
&lt;li&gt;For displaying an "&lt;strong&gt;Update you Bookmark&lt;/strong&gt;" page when a page Url has ben changed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;&lt;br /&gt; The html and &lt;strong&gt;JavaScript&lt;/strong&gt; code for &lt;strong&gt;url redirection with delay&lt;/strong&gt; is given below:&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt; &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; function &lt;strong&gt;delayedRedirect&lt;/strong&gt;(){&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; window.location = "/default.aspx"&lt;br /&gt; }&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt; &amp;lt;body onLoad="&lt;strong&gt;setTimeout&lt;/strong&gt;('&lt;strong&gt;delayedRedirect()&lt;/strong&gt;', 3000)"&amp;gt;&lt;br /&gt; &amp;lt;h2&amp;gt;You'll be redirected soon!&amp;lt;/h2&amp;gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt; &amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;p align="justify"&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Th&lt;strong&gt;e JavaScript&lt;/strong&gt; function &lt;strong&gt;setTimeout &lt;/strong&gt;is the most important part of the code given above. &lt;strong&gt;Javascript setTimeout &lt;/strong&gt;function calls &lt;strong&gt;delayedRedirect &lt;/strong&gt;function after 3 seconds (3000 miliseconds).&lt;/p&gt;
&lt;p align="justify"&gt;You may find more details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CNIGVzL5XrCMYIYsl8274Bdz3BA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CNIGVzL5XrCMYIYsl8274Bdz3BA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CNIGVzL5XrCMYIYsl8274Bdz3BA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CNIGVzL5XrCMYIYsl8274Bdz3BA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Zl8GtYKlGqI:FdlN7E6ABhI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Zl8GtYKlGqI:FdlN7E6ABhI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=Zl8GtYKlGqI:FdlN7E6ABhI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=Zl8GtYKlGqI:FdlN7E6ABhI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Zl8GtYKlGqI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Zl8GtYKlGqI/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</guid>
      <pubDate>Fri, 27 Jun 2008 12:53:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-Delayed-Redirect.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=59847b8c-1430-48e6-b8d3-89efc0efc43d</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=59847b8c-1430-48e6-b8d3-89efc0efc43d</feedburner:origLink></item>
    <item>
      <title>Setting Focus Using Javascript to an Input Field (Textbox) / Form Field / Html Element (Textbox) when the Page Loads</title>
      <description>&lt;p&gt;The&lt;strong&gt; javascript &lt;/strong&gt;code below shows how to &lt;strong&gt;set the focus on an Input Field / Form Field / Html Element (Textbox)&lt;/strong&gt; when the &lt;strong&gt;page is loaded&lt;/strong&gt;.&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&lt;br /&gt; &amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; function &lt;strong&gt;setFocus()&lt;/strong&gt;&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById("name").focus();&lt;br /&gt; }&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;br /&gt; &amp;lt;/head&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;body onload="&lt;strong&gt;setFocus()&lt;/strong&gt;"&amp;gt;&lt;br /&gt; &amp;nbsp; &amp;lt;form&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name: &amp;lt;&lt;strong&gt;input type="text" id="name" size="30"&lt;/strong&gt;&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Surname: &amp;lt;&lt;strong&gt;input type="text" id="surname" size="30"&lt;/strong&gt;&amp;gt; &lt;br /&gt; &amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&lt;br /&gt; &lt;br /&gt; &amp;lt;/html&amp;gt;&lt;/p&gt;
&lt;p&gt;Consider also checking the following post which describes &lt;a href="http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load-After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx"&gt;3 techniques on setting focus on page load after postback or after submit.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SQW-b8LBu5yXdngXs8h62BuFAxw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SQW-b8LBu5yXdngXs8h62BuFAxw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SQW-b8LBu5yXdngXs8h62BuFAxw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SQW-b8LBu5yXdngXs8h62BuFAxw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=v1vmX4k0x_I:ZZ237GuF3Og:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=v1vmX4k0x_I:ZZ237GuF3Og:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=v1vmX4k0x_I:ZZ237GuF3Og:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=v1vmX4k0x_I:ZZ237GuF3Og:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/v1vmX4k0x_I" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/v1vmX4k0x_I/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</guid>
      <pubDate>Fri, 27 Jun 2008 11:15:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</pingback:target>
      <slash:comments>3</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=f1472157-b520-4026-a2a6-1bbe883be5ae</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Setting-Focus-Using-Javascript-to-an-Input-Field-(Textbox)-when-the-Page-Loads.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=f1472157-b520-4026-a2a6-1bbe883be5ae</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=f1472157-b520-4026-a2a6-1bbe883be5ae</feedburner:origLink></item>
    <item>
      <title>Set Focus on Page Load / After Postback / After Submit in ASP.NET 2.0 and ASP.NET 3.5 - Setting Focus to an ASP.NET Control</title>
      <description>&lt;p&gt;
In ASP.NET 1.x, it is not possible to programmatically &lt;strong&gt;set focus&lt;/strong&gt; to a web server control without using the &lt;strong&gt;JavaScript&amp;#39;s focus()&lt;/strong&gt; function &lt;strong&gt;after submit (on Page Load / after Postback)&lt;/strong&gt;. You may find the details on how to &lt;strong&gt;set focus to web controls in ASP.NET 1.x&lt;/strong&gt; in one of my previous articles:&lt;strong&gt; &lt;a href="http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx"&gt;Set Focus After PostBack in ASP.NET 1.x - Setting Focus to an ASP.NET Control&lt;/a&gt;&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
However, in ASP.NET 2.0 and in ASP.NET 3.5, there are three ways to dynamically set the focus to a specific control using just one line of code. 
&lt;/p&gt;
&lt;h2&gt;METHOD 1 &amp;ndash; Set Focus in ASP.NET 2.0/3.5 Using Page&amp;rsquo;s SetFocus() Method &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
You pass the control ID as the parameter and call the&lt;strong&gt;
Page.SetFocus(control) method&lt;/strong&gt;, which enables you to set the focus to a
particular control immediately after a page is &lt;strong&gt;initiated,loaded or
postbacked&lt;/strong&gt;.
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;br /&gt;
void Page_Init(object sender, EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;SetFocus(ControlToSetFocus);&lt;br /&gt;
}&lt;br /&gt;
&lt;/p&gt;
&lt;h2&gt;METHOD 2 &amp;ndash; Set Focus in ASP.NET 2.0/3.5 Usign Web Controls&amp;rsquo; Focus() Method&amp;nbsp; &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
Or you can call the &lt;strong&gt;Focus()&lt;/strong&gt; method that is available to all web controls. You can call it in the &lt;strong&gt;Page_Load&lt;/strong&gt; event. For example, if you have a TextBox web control called Textbox1, you may simply call:
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;strong&gt;TextBox1.Focus();
&lt;/strong&gt;
&lt;/p&gt;
&lt;h2&gt;METHOD 3 - SET FOCUS in ASP.NET 2.0/3.5 Using DefaultFocus Property &lt;strong&gt;After Submit (on Page Load / after Postback)&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;br /&gt;
ASP 2.0 web forms also have a property called &lt;strong&gt;DefaultFocus&lt;/strong&gt;. By setting the &lt;strong&gt;DefaultFocus &lt;/strong&gt;property, you can set the focus to a desired control when page loads. 
&lt;/p&gt;
&lt;p&gt;
For example, the code below will automatically set the focus on &lt;strong&gt;TextBox2 &lt;/strong&gt;when the web form is loaded:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;form defaultfocus=&amp;quot;textbox2&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;asp:textbox id=&amp;quot;textbox1&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;asp:textbox id=&amp;quot;textbox2&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eLdosjqJWYBqie7ohZIdfLLoQvY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eLdosjqJWYBqie7ohZIdfLLoQvY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eLdosjqJWYBqie7ohZIdfLLoQvY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eLdosjqJWYBqie7ohZIdfLLoQvY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZqYAxLFZQzc:2pSR9hF4NkE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZqYAxLFZQzc:2pSR9hF4NkE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=ZqYAxLFZQzc:2pSR9hF4NkE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=ZqYAxLFZQzc:2pSR9hF4NkE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/ZqYAxLFZQzc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/ZqYAxLFZQzc/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load-After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</guid>
      <pubDate>Mon, 23 Jun 2008 15:58:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=a33d2978-d65d-4af3-b921-ee114027dba0</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Set-Focus-on-Page-Load-After-Postback-in-ASPNET-20-and-ASPNET-35-Setting-Focus-to-an-ASPNET-Control.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=a33d2978-d65d-4af3-b921-ee114027dba0</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=a33d2978-d65d-4af3-b921-ee114027dba0</feedburner:origLink></item>
    <item>
      <title>Set Focus After PostBack / After Submit / on Page Load in ASP.NET 1.x - Setting Focus to an ASP.NET Control</title>
      <description>&lt;p&gt;
Management of &lt;strong&gt;control focus&lt;/strong&gt; is one of the common tasks when building web applications with effective and friendly user interface. In order to &lt;strong&gt;set focus on a certain control&lt;/strong&gt; such as &lt;strong&gt;textboxes, buttons dropdowns after postback / after submit / on Page Load in ASP.NET 1.x&lt;/strong&gt;, we can use a &lt;strong&gt;dynamic javascript block&lt;/strong&gt; that facilitates &lt;strong&gt;Javascript&amp;rsquo;s focus()&lt;/strong&gt; function.
&lt;/p&gt;

&lt;p class="code"&gt;
&lt;strong&gt;private void SetFocus(String controlID)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp; // Build the JavaScript String&lt;br /&gt;
&amp;nbsp; System.Text.StringBuilder sb = new System.Text.StringBuilder();&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;lt;script language=&amp;#39;javascript&amp;#39;&amp;gt;&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;document.getElementById(&amp;#39;&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(controlID);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;#39;).focus()&amp;quot;);&lt;br /&gt;
&amp;nbsp; sb.Append(&amp;quot;&amp;lt;/script&amp;gt;&amp;quot;)&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; // Register the script code with the page.&lt;br /&gt;
&amp;nbsp; Page.RegisterStartupScript(&amp;quot;FocusScript&amp;quot;, sb.ToString());&lt;br /&gt;
}&lt;/strong&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
For the above code, you need to pass the control&amp;rsquo;s id as the parameter, then define the &lt;strong&gt;Javascript function in a string variable&lt;/strong&gt; then call the Page class to register the script. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KPoRqQgFbC5-X1nuBwlCBy2VPF4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KPoRqQgFbC5-X1nuBwlCBy2VPF4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KPoRqQgFbC5-X1nuBwlCBy2VPF4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KPoRqQgFbC5-X1nuBwlCBy2VPF4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=2GluiBYcq0g:P_Aj0weEW48:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=2GluiBYcq0g:P_Aj0weEW48:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=2GluiBYcq0g:P_Aj0weEW48:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=2GluiBYcq0g:P_Aj0weEW48:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/2GluiBYcq0g" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/2GluiBYcq0g/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</guid>
      <pubDate>Mon, 23 Jun 2008 10:18:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Set-Focus-After-PostBack-in-ASPNET-1x-Setting-Focus-to-an-ASPNET-Control.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d8482662-f012-440a-a0d1-fa2825ed0e0b</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d8482662-f012-440a-a0d1-fa2825ed0e0b</feedburner:origLink></item>
    <item>
      <title>JavaScript substring vs. substr with Examples - The Difference Between JavaScript String Extraction Functions</title>
      <description>&lt;p align="justify"&gt;When you write JavaScript, you need to know what &lt;strong&gt;string manipulation methods/functions&lt;/strong&gt; are available. In the previous posts&amp;nbsp; &lt;a title="JavaScript substr Function" href="http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx"&gt;JavaScript substr Function&lt;/a&gt; and &lt;a title="JavaScript substring Function" href="http://www.bloggingdeveloper.com/post/JavaScript-substring-Function.aspx"&gt;JavaScript substring Function&lt;/a&gt;, we gave examples on usages of the two most common javascript string functions. You can also find the details below:&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;JavaScript &lt;strong&gt;substring()&lt;/strong&gt; Method&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;&lt;strong&gt;JavaScript substring &lt;/strong&gt;is used to take a part of a string. The syntax of &lt;strong&gt;JavaScript substring &lt;/strong&gt;method is given below:&lt;/p&gt;
&lt;p class="code"&gt;stringObjectToTakeAPartOf.&lt;strong&gt;substring&lt;/strong&gt;(start-index,stop-index)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
&lt;li&gt;stop-index: (Optional - Numeric Value) - where to stop the extraction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Notes about Javascript substring:&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;If start-index is equal to stop-index, &lt;strong&gt;JavaScript substring &lt;/strong&gt;returns an empty string. &lt;/li&gt;
&lt;li&gt;If stop-index parameter is omitted, &lt;strong&gt;JavaScript substring &lt;/strong&gt;extracts characters from start-index to the end of the string.&lt;/li&gt;
&lt;li&gt;If parameters are 0or NaN, the parameters are threated as 0.&lt;/li&gt;
&lt;li&gt;If parameters are greater than the string's length, the parameters qill use string's length.&lt;/li&gt;
&lt;li&gt;If start-index &amp;gt; stop-index, then the &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substring &lt;/strong&gt;function swaps 2 parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;substring Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &lt;br /&gt; var str = "Hello World";&lt;br /&gt; document.write(str.substring(4,8));&lt;br /&gt; &lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p align="justify"&gt;The output of the above code is:&lt;/p&gt;
&lt;p class="code"&gt;o wo&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="text-decoration: underline;"&gt;JavaScript &lt;strong&gt;substr()&lt;/strong&gt; Method&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;The &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() &lt;/strong&gt;method works slightly different. Instead of the second parameter being an index number, it gives the number of characters. The syntax of &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() &lt;/strong&gt;is given below:&lt;/p&gt;
&lt;p class="code"&gt;stringObjectToTakeAPartOf.&lt;strong&gt;substr&lt;/strong&gt;(start-index,length)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
&lt;li&gt;length: (Optional - Numeric Value) - how many characters to extract &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;&lt;strong&gt;Notes about substr:&lt;/strong&gt;&lt;/strong&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;To extract characters from the end of the string, use a negative start-index. (Internet Explorer returns the whole string which is wrong.) &lt;/li&gt;
&lt;li&gt;If the length parameter is omitted, &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr &lt;/strong&gt;method extracts to the end of the string.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;substr() &lt;/strong&gt;is not supported by &lt;strong&gt;Netscape 2&lt;/strong&gt;, &lt;strong&gt;Netscape 3&lt;/strong&gt;, &lt;strong&gt;Internet Explorer 3&lt;/strong&gt; and &lt;strong&gt;Opera 3&lt;/strong&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &lt;br /&gt; var str = "Hello World";&lt;br /&gt; document.write(str.substr(4,4));&lt;br /&gt; &lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p align="justify"&gt;The output of the above code is:&lt;/p&gt;
&lt;p class="code"&gt;o wo&lt;/p&gt;
&lt;p align="justify"&gt;Since &lt;strong&gt;JavaScript &lt;/strong&gt;&lt;strong&gt;substr() is not cross-browser&lt;/strong&gt;, I never use it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/5AU5Q_VntCL-_NrkblPNYuBP0gQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5AU5Q_VntCL-_NrkblPNYuBP0gQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/5AU5Q_VntCL-_NrkblPNYuBP0gQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/5AU5Q_VntCL-_NrkblPNYuBP0gQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gd3YQweS-To:pIpT3l1ieHI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gd3YQweS-To:pIpT3l1ieHI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=gd3YQweS-To:pIpT3l1ieHI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=gd3YQweS-To:pIpT3l1ieHI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/gd3YQweS-To" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/gd3YQweS-To/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</guid>
      <pubDate>Sat, 21 Jun 2008 12:10:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</pingback:target>
      <slash:comments>13</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/substring-vs-substr-The-Difference-Between-JavaScript-String-Functions.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=fa121f3d-578a-46bf-9a67-5c47c2f13914</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=fa121f3d-578a-46bf-9a67-5c47c2f13914</feedburner:origLink></item>
    <item>
      <title>JavaScript parseFloat() Function with Examples - Converting Strings to Numbers</title>
      <description>&lt;p&gt;
&lt;strong&gt;The JavaScript parseFloat()&lt;/strong&gt; function, parses a string and &lt;strong&gt;returns the first floating point number in the string&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
The &lt;strong&gt;parseFloat()&lt;/strong&gt; function determines if the first character in the string argument is a number, &lt;strong&gt;parses the string from left to right until it reaches the end of the number&lt;/strong&gt;, discards any characters that occur after the end of the number, and finally returns the number as a number (not as a string). 
&lt;/p&gt;
 
&lt;p&gt;
Only the first number in the string is returned, regardless of how many other numbers occur in the string. 
&lt;/p&gt;
&lt;p&gt;
If the first character in the string is not a number, &lt;strong&gt;the function returns the Not-a-Number value NaN&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
Here are some examples about &lt;strong&gt;Javascript parseFloat() method&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p class="code"&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;15&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;12.12345&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;45.00000000&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;23.348&amp;nbsp; 44.218&amp;nbsp; 55.405&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot; &amp;nbsp;&amp;nbsp; 55 aardvarks&amp;quot;)&lt;/strong&gt;) &lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseFloat(&amp;quot;Year 2002&amp;quot;)&lt;/strong&gt;) 
&lt;/p&gt;
&lt;p&gt;
The outputs will be: 
&lt;/p&gt;
&lt;p class="code"&gt;
15 &lt;br /&gt;
12.12345 &lt;br /&gt;
45 &lt;br /&gt;
23.348 &lt;br /&gt;
55 &lt;br /&gt;
NaN 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NLPPX0ihG7FX1B2oFuBBPPMGpBo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NLPPX0ihG7FX1B2oFuBBPPMGpBo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NLPPX0ihG7FX1B2oFuBBPPMGpBo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NLPPX0ihG7FX1B2oFuBBPPMGpBo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=t4p8mvBI7TQ:4wwtjeVZlDA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=t4p8mvBI7TQ:4wwtjeVZlDA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=t4p8mvBI7TQ:4wwtjeVZlDA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=t4p8mvBI7TQ:4wwtjeVZlDA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/t4p8mvBI7TQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/t4p8mvBI7TQ/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</guid>
      <pubDate>Fri, 20 Jun 2008 14:35:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-parseFloat()-Function-Converting-Strings-to-Numbers.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=eb6f78f1-6a4d-45b3-a2d2-745a00567e93</feedburner:origLink></item>
    <item>
      <title>Javascript parseInt() Function with Examples - Converting Strings to Integers</title>
      <description>&lt;p&gt;
The &lt;strong&gt;JavaScript parseInt()&lt;/strong&gt; function parses a string and returns the &lt;strong&gt;first integer in a string&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
There are two arguments one of which is mandatory string argument that is the string which is parsed to return the &lt;strong&gt;integer&lt;/strong&gt;. The other argument is the optional &lt;strong&gt;radix&lt;/strong&gt; argument that specifies the base of the integer and can range from 2 to 36. For example, 16 is the hexidecimal base (0123456789ABCDEF). 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;If no radix argument is provided or if it is assigned a value of 0, the function tries to determine the base: &lt;/strong&gt;
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;If the string begins with &amp;quot;0x&amp;quot;, the radix is 16 (hexadecimal)&lt;/li&gt;
	&lt;li&gt;If the string begins with &amp;quot;0&amp;quot;, the radix is 8 (octal). This feature is deprecated&lt;/li&gt;
	&lt;li&gt;If the string begins with any other value, the radix is 10 (decimal)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;br /&gt;
After determining if the first character in the string argument is a number, &lt;strong&gt;the parseInt function&lt;/strong&gt; parses the string from left to right until the end of the number or a decimal point is encountered, then it discards any characters that occur after the end of the number (including a decimal point and all numbers after the decimal point), and finally it returns the number as an integer (not as a string). 
&lt;/p&gt;
&lt;p&gt;
Only the first integer in the string is returned by the &lt;strong&gt;parseInt() function&lt;/strong&gt;, regardless of how many other numbers occur in the string. &lt;strong&gt;This function does not return decimal points nor numbers to the right of a decimal. 
&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
If the first non-whitespace character is not numeric, the function returns the&lt;strong&gt; Not-a-Number value NaN&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Here are some examples of JavaScript parseInt() Function 
&lt;/strong&gt;
&lt;/p&gt;
&lt;p class="code"&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;15&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;12.12345&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;45.00000000&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;23.348&amp;nbsp; 44.218&amp;nbsp; 55.405&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot; &amp;nbsp;&amp;nbsp; 55 aardvarks&amp;quot;)&lt;/strong&gt;)&lt;br /&gt;
document.write(&amp;quot;&amp;lt;BR&amp;gt;&amp;quot; + &lt;strong&gt;parseInt(&amp;quot;Year 2002&amp;quot;)&lt;/strong&gt;) 
&lt;/p&gt;
&lt;p&gt;
The output of the code above will be: 
&lt;/p&gt;
&lt;p class="code"&gt;
15&lt;br /&gt;
12&lt;br /&gt;
45&lt;br /&gt;
23&lt;br /&gt;
55&lt;br /&gt;
NaN
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6brBFj9R89aK2wrmbSm-rdpMVUs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6brBFj9R89aK2wrmbSm-rdpMVUs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6brBFj9R89aK2wrmbSm-rdpMVUs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6brBFj9R89aK2wrmbSm-rdpMVUs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=x5UGbhS5jIw:GpjfHN8YER8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=x5UGbhS5jIw:GpjfHN8YER8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=x5UGbhS5jIw:GpjfHN8YER8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=x5UGbhS5jIw:GpjfHN8YER8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/x5UGbhS5jIw" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/x5UGbhS5jIw/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</guid>
      <pubDate>Fri, 20 Jun 2008 14:08:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-parseInt()-Function-Converting-Strings-to-Numbers.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=1ab72e5d-b1bb-40b6-9406-0a3da660b6dd</feedburner:origLink></item>
    <item>
      <title>window.history with Examples - JavaScript History Object - History Object's Methods and Properties</title>
      <description>&lt;p&gt;
The&lt;strong&gt; JavaScript History&lt;/strong&gt; object - property of the window object - contains an array / list of previously visited URLs. In this article, we will look at the &lt;strong&gt;history object properties and methods&lt;/strong&gt;, &lt;strong&gt;length&lt;/strong&gt;, &lt;strong&gt;current&lt;/strong&gt;, &lt;strong&gt;next&lt;/strong&gt;, &lt;strong&gt;previous &lt;/strong&gt;properties, &lt;strong&gt;back()&lt;/strong&gt;, &lt;strong&gt;forward()&lt;/strong&gt; and &lt;strong&gt;go()&lt;/strong&gt; methods along with syntax and examples. 
&lt;/p&gt;
&lt;p&gt;
Mostly, JavaScript history object is used to simulate the &lt;strong&gt;browser&amp;#39;s back button&lt;/strong&gt;: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;a href=&amp;quot;javascript:history.go(-1)&amp;quot;&amp;gt;Go back&amp;lt;/a&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;window.history&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
&lt;strong&gt;window.history&lt;/strong&gt; property has the return value as an array which contains items with details of the URL&amp;#39;s visited within that browser window/tab. The JavaScript history object is a JavaScript object and not a DOM object. The JavaScript runtime engine automatically creates this object. 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;window.history Properties&lt;br /&gt;
&lt;br /&gt;
&lt;/u&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;strong&gt;history.length&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The length property of the history object returns the number of elements in the history list. 
&lt;/p&gt;
&lt;p&gt;
General syntax of length property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.length; 
&lt;/p&gt;
&lt;p&gt;
An example to understand the length property of history object: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var numberofvisited = history.length;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document.write(&amp;quot;The number of pages visited&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; in this window is&amp;quot; +numberofvisited+ &amp;quot; pages.&amp;quot;);&lt;br /&gt;
&amp;lt;/script&amp;gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.current&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
This property contains the complete URL of the current History entry. 
&lt;/p&gt;
&lt;p&gt;
General syntax of current property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.current; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.next&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The next property of history object contains the complete URL of the next element in the History list. This functionality or the URL visited is the same as pressing the forward button or menu. 
&lt;/p&gt;
&lt;p&gt;
General syntax of next property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.next; 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.previous&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The previous property of history object contains the complete URL of the previous element in the History list. This functionality or the URL visited is the same as pressing the back button or menu. 
&lt;/p&gt;
&lt;p&gt;
General syntax of previous property of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.previous; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;window.history Methods&lt;br /&gt;
&lt;br /&gt;
&lt;/u&gt;&lt;/h2&gt;
&lt;h2&gt;&lt;strong&gt;history.back()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The back() method of the history object loads the previous URL in the History list. The functionality results are the same as pressing the previous button of the browser. 
&lt;/p&gt;
&lt;p&gt;
General syntax of back method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.back(); 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.forward()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
The forward() method of the history object loads the next URL in the History list. The functionality results are the same as pressing the forward button of the browser. 
&lt;/p&gt;
&lt;p&gt;
General syntax of forward method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.forward(); 
&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;history.go()&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;
If the programmer wishes to load a specified URL from the History list, then the go method of history object can be used. 
&lt;/p&gt;
&lt;p&gt;
General syntax of forward method of history Object: 
&lt;/p&gt;
&lt;p class="code"&gt;
history.go(number); 
&lt;/p&gt;
&lt;p&gt;
or 
&lt;/p&gt;
&lt;p class="code"&gt;
history.go(URL); 
&lt;/p&gt;
&lt;p&gt;
The back method seen above is the same as &lt;strong&gt;history.go(-1)&lt;/strong&gt; in terms of go method of history object. The forward method seen above is the same as &lt;strong&gt;history.go(1)&lt;/strong&gt;. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/k0kId_98tnUfHfNwdIB42ys5dms/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k0kId_98tnUfHfNwdIB42ys5dms/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/k0kId_98tnUfHfNwdIB42ys5dms/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/k0kId_98tnUfHfNwdIB42ys5dms/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DU8bMdGtPyM:s3nF_h1gR94:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DU8bMdGtPyM:s3nF_h1gR94:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DU8bMdGtPyM:s3nF_h1gR94:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DU8bMdGtPyM:s3nF_h1gR94:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DU8bMdGtPyM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DU8bMdGtPyM/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-History-Object-History-Objects-Methods-and-Properties.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</guid>
      <pubDate>Thu, 14 Feb 2008 00:01:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-History-Object-History-Objects-Methods-and-Properties.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d54f9ef5-c6ba-4824-bd3a-847f67e5fa36</feedburner:origLink></item>
    <item>
      <title>How To: Minimize HTTP Requests – The Most Important Guideline for Improving Web Site Performance</title>
      <description>&lt;p align="justify"&gt;
In my previous article &lt;a href="http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx" title="7 Easy-to-Apply Tips to Improve Your Web Site Performance"&gt;7 Easy-to-Apply Tips to Improve Your Web Site Performance&lt;/a&gt;, I described methods to achieve better client-side performance.&amp;nbsp; The conclusion of the article was: &amp;ldquo;The most important and effective way to improve web site performance is to make fewer HTTP Requests.&amp;rdquo;
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
Since browsers only are able to download two components on parallel per hostname, and every HTTP request has an average round-trip latency of 0.2 seconds, that causes a 2 second latency alone, if the site is loading 20 items, regardless of whether they are style sheets, images or scripts. (On an average broadband connection with a browser capable of downloading two components at a time). 
&lt;br /&gt;
&lt;br /&gt;
Since browsers spend approximately 80% of the time fetching external components such as scripts, style sheets and images. Reducing the number of HTTP requests has the biggest impact on improving website performance. Moreover, it is the easiest way to make a performance improvement. 
&lt;/p&gt;
&lt;p align="justify"&gt;
This article focuses on ways of minimizing HTTP Requests to maximize web site performance.
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;h2&gt;1. Image Maps&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Image Maps are used to combine multiple images into a single image and specify regions to assign a specific action to each region. The overall size is about the same, but reducing the number of HTTP requests speeds up the page. 
&lt;/p&gt;
&lt;p class="quote" align="justify"&gt;
There are two types of image maps:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;u&gt;&lt;strong&gt;Client-side:&lt;/strong&gt;&lt;/u&gt; When a user activates a region of a client-side image map with a mouse, the pixel coordinates are interpreted by the user agent. The user agent selects a link that was specified for the activated region and follows it. 
&lt;strong&gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;u&gt;Server-side:&lt;/u&gt;&lt;/strong&gt; When a user activates a region of a server-side image map with a mouse, the pixel coordinates of the click are sent to the server-side agent specified by the href attribute of the A element. The server-side agent interprets the coordinates and performs some action.&lt;br /&gt;
&lt;br /&gt;
Client-side image maps are preferred over server-side image maps for at least two reasons: they are accessible to people browsing with non-graphical user agents and they offer immediate feedback as to whether or not the pointer is over an active region.
&lt;br /&gt;
&lt;br /&gt;
For details: &lt;a href="http://www.w3.org/TR/html401/struct/objects.html#h-13.6" title="Image Maps"&gt;Image Maps&lt;/a&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The main navigation of bloggingdeveloper.com utilizes image maps. If you examine the source of this page, you will see the following code:
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;img src=&amp;quot;/themes/BD/images/menuimg.gif&amp;quot; border=&amp;quot;0&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usemap=&amp;quot;#Map&amp;quot; id=&amp;quot;imgMenu&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;map name=&amp;quot;Map&amp;quot; id=&amp;quot;Map&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;4,31,82,58&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Blogging Developer Home&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;88,25,189,57&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/archive.aspx&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Archive&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;197,26,307,53&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/contact.aspx&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Contact Blogging Developer&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;lt;area shape=&amp;quot;rect&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; coords=&amp;quot;315,25,379,52&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; href=&amp;quot;/syndication.axd?format=rss&amp;quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alt=&amp;quot;Blogging Developer RSS Feed&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/map&amp;gt;
&lt;/p&gt;
&lt;h2&gt;2. CSS Sprites&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Another method for reducing the number of image requests is combining images into a single image and using CSS background-image and background-position properties to display the desired image part.
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find detailed information about CSS sprites in &lt;a href="http://alistapart.com/articles/sprites" target="_blank" title="CSS Sprites: Image Slicing&amp;rsquo;s Kiss of Death."&gt;CSS Sprites: Image Slicing&amp;rsquo;s Kiss of Death&lt;/a&gt;.
&lt;/p&gt;
&lt;p align="justify"&gt;
Bloggingdeveloper.com utilizes CSS Sprites on the rating stars. 
&lt;/p&gt;
&lt;h2&gt;3. Combine External Script/StyleSheet Files into a Single File&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
Number of HTTP requests may be reduced by combining all scripts into a single script and similarly combining all external stylesheets into a single stylesheet. 
&lt;/p&gt;
&lt;p align="justify"&gt;
While combining external files reduces the HTTP requests, it hardens the maintenance of these files. However, combining these files as a part of build process is a good practice. Moreover, if you have variety of pages that use a different set of scripts and stylesheets, you should not combine them into a one big file which is inefficient since the page downloads more JS and CSS than it needs. 
&lt;/p&gt;
&lt;h2&gt;Conclusions:&lt;/h2&gt;
&lt;br /&gt;
&lt;p align="justify"&gt;
If you want to improve your site&amp;rsquo;s performance, reducing the number of HTTP requests in your page is the first place to start. This is the most important guideline for improving performance. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-Sz1HD-Rik2QaV4zal8FX6QCtfU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Sz1HD-Rik2QaV4zal8FX6QCtfU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-Sz1HD-Rik2QaV4zal8FX6QCtfU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-Sz1HD-Rik2QaV4zal8FX6QCtfU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=niDrhBr_Zf4:v4fVy-FNGDE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=niDrhBr_Zf4:v4fVy-FNGDE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=niDrhBr_Zf4:v4fVy-FNGDE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=niDrhBr_Zf4:v4fVy-FNGDE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/niDrhBr_Zf4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/niDrhBr_Zf4/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</guid>
      <pubDate>Thu, 31 Jan 2008 20:37:00 +0200</pubDate>
      <category>All</category>
      <category>Performance</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</pingback:target>
      <slash:comments>12</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=04415e22-1510-4d41-a1f5-1821f620b766</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=04415e22-1510-4d41-a1f5-1821f620b766</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=04415e22-1510-4d41-a1f5-1821f620b766</feedburner:origLink></item>
    <item>
      <title>Compress Javascript with compressjavascript.com - Free Online Javascript Compression Tool</title>
      <description>&lt;p&gt;
Internet Applications with Web 2.0 features make heavy use of JavaScript. As rich web applications are being built with larger JavaScript, the need for JavaScript compression to keep bandwidth and page load times as small as possible by decreasing the size of the files served is becoming more important. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.compressjavascript.com" target="_blank" title="free online best javascript compression obfuscation tool"&gt;CompressJavascript.com&lt;/a&gt; takes your JavaScript code and compresses it by removing comments, whitespace, line feeds, and by shortening function parameters and variable names. This will reduce the script size, and may help your pages load faster and reduce bandwidth consumption. 
&lt;/p&gt;
&lt;h2&gt;&lt;a href="http://www.compressjavascript.com" title="free online tool for javascript compression/obfuscation"&gt;Compress JavaScript at http://www.compressjavascript.com&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Q-lIk5m0yC2crWSG-NXjGjB6iaw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q-lIk5m0yC2crWSG-NXjGjB6iaw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Q-lIk5m0yC2crWSG-NXjGjB6iaw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Q-lIk5m0yC2crWSG-NXjGjB6iaw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cz64NjAJnws:4f6soZaAQ7k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cz64NjAJnws:4f6soZaAQ7k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=cz64NjAJnws:4f6soZaAQ7k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=cz64NjAJnws:4f6soZaAQ7k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/cz64NjAJnws" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/cz64NjAJnws/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</guid>
      <pubDate>Sun, 27 Jan 2008 21:46:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Online Services</category>
      <category>Performance</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</pingback:target>
      <slash:comments>0</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=92607706-695a-4316-beb5-5038bfe33bd0</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Compress-Javascript-with-compressjavascript-Free-Online-Javascript-Compression-Tool.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=92607706-695a-4316-beb5-5038bfe33bd0</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=92607706-695a-4316-beb5-5038bfe33bd0</feedburner:origLink></item>
    <item>
      <title>Themes for Ajax Control Toolkit's Tab Control</title>
      <description>&lt;p&gt;
&lt;a rel="nofollow" href="http://mattberseth.com" target="_blank"&gt;Matt Berseth&lt;/a&gt; created five themes for the &lt;a rel="nofollow" href="http://ajax.asp.net/ajaxtoolkit/"&gt;AjaxControlToolkit&lt;/a&gt;&amp;#39;s Tab control using the images from &lt;a rel="nofollow" href="http://www.dynamicdrive.com/" target="_blank"&gt;dynamicdrive&lt;/a&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;div id="articleimg"&gt;
&lt;div id="image"&gt;
&lt;img src="/posts/aspnet/tabthemes.jpg" alt="Theme Samples for Ajax Control Toolkit Tabs" title="Themes for Ajax Control Toolkit Tabs" /&gt; 
&lt;/div&gt;
&lt;div id="explanation"&gt;
Themes for Ajax Control Toolkit Tabs 
&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;
Check the related blog entry (&lt;a rel="nofollow" href="http://mattberseth.com/blog/2008/01/five_ajaxcontroltoolkit_tab_th.html" target="_blank"&gt;Five AjaxControlToolkit Tab Themes created from DynamicDrive.com&lt;/a&gt;) for demo and download.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tUKjhQhSbyCXh-Ht8U-JaE6Rw54/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tUKjhQhSbyCXh-Ht8U-JaE6Rw54/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tUKjhQhSbyCXh-Ht8U-JaE6Rw54/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tUKjhQhSbyCXh-Ht8U-JaE6Rw54/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=6WIvzsrBNlg:m68jPZvFvLU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=6WIvzsrBNlg:m68jPZvFvLU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=6WIvzsrBNlg:m68jPZvFvLU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=6WIvzsrBNlg:m68jPZvFvLU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/6WIvzsrBNlg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/6WIvzsrBNlg/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</guid>
      <pubDate>Tue, 22 Jan 2008 09:30:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Themes-for-Ajax-Control-Toolkits-Tab-Control.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=babfe802-3146-4b99-b1e7-a448f0eae3a1</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=babfe802-3146-4b99-b1e7-a448f0eae3a1</feedburner:origLink></item>
    <item>
      <title>JavaScript: Array Length Property</title>
      <description>&lt;p&gt;
The length of any Javascript array can be found by using its length property. Moreover, the length property can be used to loop through array elements. Array numbering starts from 0 in Javascript. Therefore, name_of_the_array[1] is the second element of the array. As a result, the last element of the array is the total size of the array minus 1. 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];
&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;h2&gt;Getting the first element of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
document.write(myarray[0]); 
&lt;/p&gt;
&lt;p&gt;
This will display a as the first element of the array. 
&lt;/p&gt;
&lt;h2&gt;Getting the last element of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
document.write(myarray[myarray.lenth-1]); 
&lt;/p&gt;
&lt;p&gt;
This will display d as the last element of the array. 
&lt;/p&gt;
&lt;h2&gt;Looping through the elements of a Javascript Array: &lt;/h2&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];&lt;br /&gt;
for(i=0;i {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write(myarray[i]);&lt;br /&gt;
} 
&lt;/p&gt;
&lt;p&gt;
This will display abcd.
&lt;/p&gt;
&lt;h2&gt;Assigning a value to Javascript Array Length Property&lt;/h2&gt;
&lt;p&gt;
If we assign a value to length property of the array which is less than the actual length of the array, the elements after the assigned length are lost. 
&lt;/p&gt;
&lt;p&gt;
Check the following example: 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;];&lt;br /&gt;
myarray.length=2;&lt;br /&gt;
document.write(myarray[myarray.lenth-1]); 
&lt;/p&gt;
&lt;p&gt;
We lost the last two elements by assigning a value smaller than the actual length of the array. Therefore, the example above will display b. 
&lt;/p&gt;
&lt;h2&gt;Array Length Browser Incompatiblity&lt;/h2&gt;
&lt;p&gt;
The following code returns 4 in Firefox and 5 in IE. 
&lt;/p&gt;
&lt;p class="code"&gt;
var myarray = [&amp;#39;a&amp;#39;, &amp;#39;b&amp;#39;, &amp;#39;c&amp;#39;, &amp;#39;d&amp;#39;,];&lt;br /&gt;
document.write(foo.length); 
&lt;/p&gt;
&lt;p&gt;
The extra comma on the end of the array causes the interpretation difference. IE interprets this as an additional element with an undefined value. Firefox ignores it. 
&lt;/p&gt;
&lt;p&gt;
The ECMAScript standard says: 
&lt;/p&gt;
&lt;p class="quote"&gt;
Array elements may be elided at the beginning, middle or end of the element list. Whenever a comma in the element list is not preceded by an AssignmentExpression (i.e., a comma at the beginning or after another comma), the missing array element contributes to the length of the Array and increases the index of subsequent elements. Elided array elements are not defined. 
&lt;/p&gt;
&lt;p&gt;
According to the standard the interpretation of IE is correct. However, you have to be careful to write your code compatible to all browsers. 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zVjeFZ7oTN_7vbc5M2dXFW-Hmzo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zVjeFZ7oTN_7vbc5M2dXFW-Hmzo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zVjeFZ7oTN_7vbc5M2dXFW-Hmzo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zVjeFZ7oTN_7vbc5M2dXFW-Hmzo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=o2NcRIkxcdM:75hxBEPT3vI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=o2NcRIkxcdM:75hxBEPT3vI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=o2NcRIkxcdM:75hxBEPT3vI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=o2NcRIkxcdM:75hxBEPT3vI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/o2NcRIkxcdM" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/o2NcRIkxcdM/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</guid>
      <pubDate>Sat, 19 Jan 2008 23:00:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Array-Length-Property.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=3c1988a2-5d62-4cc3-bf01-b07523d547ea</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=3c1988a2-5d62-4cc3-bf01-b07523d547ea</feedburner:origLink></item>
    <item>
      <title>document.lastModified - How To: Display the Last Modified Date of a Document using Javascript - Javascript's document.lastModified Property</title>
      <description>&lt;p&gt;
Displaying the &lt;strong&gt;last modified date&lt;/strong&gt; of a web page using Javascript is just a matter of diplaying the document.lastModified property of Javascript.
&lt;/p&gt;
&lt;p class="code"&gt;
&lt;strong&gt;
document.lastModified;&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
In order for this property to work, the server has to send the information to the browser. which is widely supported by the browsers nowadays.
&lt;/p&gt;
&lt;p&gt;
When a server does not send a lastModified date information to the browser, Netscape and Opera give a last modification date of 01/01/1970 at 00:00:00 hrs, while Internet Explorer gives today. So it is always a good practice to test the server if it is sending the necessary information to the browser before using this script.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;h2&gt;document.lastModified&lt;/h2&gt;&lt;br /&gt;
&lt;p class="code"&gt;
&lt;strong&gt;
document.write(document.lastModified);&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
outputs: &lt;strong&gt;18/01/2008 16:43:32&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UepGm30bE6qbothTXx66RjEL7eo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UepGm30bE6qbothTXx66RjEL7eo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UepGm30bE6qbothTXx66RjEL7eo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UepGm30bE6qbothTXx66RjEL7eo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=QHc9sfc7yUg:T0xdm5FPOPs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=QHc9sfc7yUg:T0xdm5FPOPs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=QHc9sfc7yUg:T0xdm5FPOPs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=QHc9sfc7yUg:T0xdm5FPOPs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/QHc9sfc7yUg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/QHc9sfc7yUg/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</guid>
      <pubDate>Fri, 18 Jan 2008 16:22:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=f992d959-5101-4d10-b432-58e54cb26f20</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Display-the-Last-Modified-Date-of-a-Document-using-Javascript-Javascripts-document-lastModified-Property.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=f992d959-5101-4d10-b432-58e54cb26f20</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=f992d959-5101-4d10-b432-58e54cb26f20</feedburner:origLink></item>
    <item>
      <title>The terminal server has exceeded the maximum number of allowed connections – Error in Remote Desktop Connection (mstsc)</title>
      <description>&lt;p&gt;
Remote desktop connections remain active until the logged in user selects &amp;quot;Log Off&amp;quot; from the Start Menu. If a user closes the remote desktop window without logging off, the user will still remain logged on.
&lt;/p&gt;
&lt;p&gt;
Only up to two simultaneous Remote Desktop connections are allowed by default and active and disconnected sessions are calculated in this connection limit.
&lt;/p&gt;
&lt;p&gt;
If a third simultaneous attempt is made to login to the server &lt;strong&gt;&amp;quot;The terminal server has exceeded the maximum number of allowed connections&amp;quot;&lt;/strong&gt; error will be shown to the user, and they will be unable to complete the login process.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Fortunately, there is a way around this:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
	Click OK to the error message.
	&lt;/li&gt;
	&lt;li&gt;
	Type &lt;strong&gt;mstsc /v:xx.xx.xx.xx /f &amp;ndash;console&lt;/strong&gt; into Start &amp;ndash; Run replacing xx.xx.xx.xx with the remote IP
	&lt;/li&gt;
	&lt;li&gt;
	Login with Administrator account.
	&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;p&gt;
This will connect you to the remote computer.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gws9pkaj96fE5xdhkW1C4K29Dtk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gws9pkaj96fE5xdhkW1C4K29Dtk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gws9pkaj96fE5xdhkW1C4K29Dtk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gws9pkaj96fE5xdhkW1C4K29Dtk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=AUhOGek9NF0:f880ii3WWXQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=AUhOGek9NF0:f880ii3WWXQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=AUhOGek9NF0:f880ii3WWXQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=AUhOGek9NF0:f880ii3WWXQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/AUhOGek9NF0" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/AUhOGek9NF0/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</guid>
      <pubDate>Fri, 18 Jan 2008 11:15:00 +0200</pubDate>
      <category>All</category>
      <category>Errors</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=d1f8125e-2d36-4886-a034-624e455c45cb</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/The-terminal-server-has-exceeded-the-maximum-number-of-allowed-connections-Error-in-Remote-Desktop-Connection-(mstsc).aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=d1f8125e-2d36-4886-a034-624e455c45cb</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=d1f8125e-2d36-4886-a034-624e455c45cb</feedburner:origLink></item>
    <item>
      <title>JavaScript: null vs. undefined - The Difference between null and undefined</title>
      <description>&lt;p&gt;
JavaScript is different from other programming languages by containin both &lt;strong&gt;undefined &lt;/strong&gt;and &lt;strong&gt;null &lt;/strong&gt;values, which may cause confusion.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;null &lt;/strong&gt;is a special value meaning &amp;quot;&lt;strong&gt;no value&lt;/strong&gt;&amp;quot;. null is a special object because &lt;strong&gt;typeof null &lt;/strong&gt;returns &amp;#39;&lt;strong&gt;object&lt;/strong&gt;&amp;#39;.
&lt;/p&gt;
&lt;p&gt;
On the other hand, &lt;strong&gt;undefined &lt;/strong&gt;means that the variable has not been declared, or has not been given a value.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
Following snippets display &amp;#39;&lt;strong&gt;undefined&lt;/strong&gt;&amp;#39;:
&lt;/p&gt;
&lt;p class="code"&gt;
// i is not declared anywhere in code
&lt;br /&gt;
alert(&lt;strong&gt;typeof &lt;/strong&gt;i);
&lt;/p&gt;
&lt;p class="code"&gt;
var i;
&lt;br /&gt;
alert(&lt;strong&gt;typeof &lt;/strong&gt;i);
&lt;/p&gt;
&lt;p&gt;
Although &lt;strong&gt;null &lt;/strong&gt;and &lt;strong&gt;undefined &lt;/strong&gt;are slightly different, the &lt;strong&gt;== (equality)&lt;/strong&gt; operator considers them &lt;strong&gt;equal&lt;/strong&gt;, but the &lt;strong&gt;=== (identity)&lt;/strong&gt; operator doesn&amp;#39;t.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Tn3oQAu646BpXQVVeoPoRXKYMQE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tn3oQAu646BpXQVVeoPoRXKYMQE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Tn3oQAu646BpXQVVeoPoRXKYMQE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Tn3oQAu646BpXQVVeoPoRXKYMQE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=dJlaMDM5UjQ:_TlZZc6e2Lg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=dJlaMDM5UjQ:_TlZZc6e2Lg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=dJlaMDM5UjQ:_TlZZc6e2Lg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=dJlaMDM5UjQ:_TlZZc6e2Lg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/dJlaMDM5UjQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/dJlaMDM5UjQ/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</guid>
      <pubDate>Tue, 25 Dec 2007 17:14:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-null-vs-undefined-The-Difference-between-null-and-undefined.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=2c06ffd6-8762-46e4-a58a-dce9a8d55c29</feedburner:origLink></item>
    <item>
      <title>JavaScript Array.Join vs String Concatenation - Avoid String Concatenation's Major Hit on Performance</title>
      <description>&lt;p&gt;
Doing many &lt;strong&gt;string concatenation&lt;/strong&gt; operations can be a major hit on performance even in &lt;strong&gt;Javascipt&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;
Using &lt;strong&gt;+&lt;/strong&gt; to &lt;strong&gt;concatenate string pieces&lt;/strong&gt; into a huge string is not the correct and the only way. Since string concatenation results in too many intermediate strings and concatenation operations, it performs poorly.
&lt;/p&gt;
&lt;p&gt;
 
&lt;/p&gt;
&lt;p&gt;
A better approach for string concatenation is using &lt;strong&gt;Array.join()&lt;/strong&gt;, which joins all array elements into one string:
&lt;/p&gt;
&lt;p class="code"&gt;
var tmp = []; &lt;br /&gt;
for (/* each piece */) &lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp; tmp.push(piece);&lt;br /&gt;
}&lt;br /&gt;
str = tmp.join(&amp;#39;&amp;#39;);&lt;br /&gt;
return str;
&lt;/p&gt;
&lt;p&gt;
This method doesn&amp;#39;t suffer from the &lt;strong&gt;intermediate strings&lt;/strong&gt;, and &lt;strong&gt;executes faster with high number of concatenation operations&lt;/strong&gt;.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dUPTsCDOAqgPfWFdJXh5urdDYpQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dUPTsCDOAqgPfWFdJXh5urdDYpQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dUPTsCDOAqgPfWFdJXh5urdDYpQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dUPTsCDOAqgPfWFdJXh5urdDYpQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=FSBleMC4mcc:ROiHt1vyaW8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=FSBleMC4mcc:ROiHt1vyaW8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=FSBleMC4mcc:ROiHt1vyaW8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=FSBleMC4mcc:ROiHt1vyaW8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/FSBleMC4mcc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/FSBleMC4mcc/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</guid>
      <pubDate>Mon, 17 Dec 2007 16:45:00 +0200</pubDate>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</pingback:target>
      <slash:comments>10</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=94a157c8-75c6-4640-a522-45b4b3f36548</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Array-Join-vs-String-Concatenation-Avoid-String-Concatenations-Major-Hit-on-Performance.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=94a157c8-75c6-4640-a522-45b4b3f36548</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=94a157c8-75c6-4640-a522-45b4b3f36548</feedburner:origLink></item>
    <item>
      <title>JavaScript setInterval Function - JavaScript Timing Events</title>
      <description>&lt;p align="justify"&gt;
JavaScript features a couple of methods that lets you run a piece of JavaScript code (&lt;strong&gt;javascript function&lt;/strong&gt;) at some point in the future. These methods are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;setTimeout()&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;setInterval()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
In this tutorial, I&amp;#39;ll explain how &lt;strong&gt;setInterval() &lt;/strong&gt;method works, and give a real world example. You may find the details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt; 
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;strong&gt;setInterval&lt;/strong&gt;&lt;/u&gt;&lt;u&gt;()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;window.setInterval()&lt;/strong&gt; method allows you to specify a piece of JavaScript code (&lt;strong&gt;expression&lt;/strong&gt;) that will be triggered again and again in every specified number of miliseconds.
&lt;/p&gt;
&lt;h3&gt;Syntax&lt;/h3&gt;
&lt;p class="code"&gt;
&lt;strong&gt;var t = setInterval ( expression, timeout ); &lt;/strong&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The &lt;strong&gt;setInterval()&lt;/strong&gt; method returns a numeric timeout ID which can be used to refer the time interval to use with clearInterval method. The first parameter (&lt;strong&gt;expression&lt;/strong&gt;) of setInterval() is a string containing a javascript statement. The statement could be a call to a JavaScript function like &amp;quot;delayedAlert();&amp;quot; or a&amp;nbsp; statement like &amp;quot;alert(&amp;#39;This alert is delayed.&amp;#39;);&amp;quot;. The second parameter (&lt;strong&gt;timeout&lt;/strong&gt;), indicates the number of &lt;strong&gt;miliseconds &lt;/strong&gt;to pass before executing the &lt;strong&gt;expression&lt;/strong&gt;.
&lt;/p&gt;
&lt;h3&gt;Example&amp;nbsp;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setInterval(&amp;quot;doSomething()&amp;quot;, 5000);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function doSomething()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; // do something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The doSomething() function will be called in every 5 seconds until it is cancelled.
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;&lt;strong&gt;clearInterval()&lt;/strong&gt;&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
If you want to cancel a &lt;strong&gt;setInterval()&lt;/strong&gt; then you need to call &lt;strong&gt;clearInterval()&lt;/strong&gt;, passing the internal ID returned by the call to &lt;strong&gt;setInterval()&lt;/strong&gt;.&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Lpn59AbOwSkIuZunHIrHZ7tUd7k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lpn59AbOwSkIuZunHIrHZ7tUd7k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Lpn59AbOwSkIuZunHIrHZ7tUd7k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Lpn59AbOwSkIuZunHIrHZ7tUd7k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DS6BybMLsJA:ow-iUsP4SFE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DS6BybMLsJA:ow-iUsP4SFE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DS6BybMLsJA:ow-iUsP4SFE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DS6BybMLsJA:ow-iUsP4SFE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DS6BybMLsJA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DS6BybMLsJA/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function-JavaScript-Timing-Events.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</guid>
      <pubDate>Sat, 17 Nov 2007 00:17:00 +0200</pubDate>
      <category>JavaScript</category>
      <category>All</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=918f4094-1707-4921-b983-6f0c47b658d3</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function-JavaScript-Timing-Events.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=918f4094-1707-4921-b983-6f0c47b658d3</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=918f4094-1707-4921-b983-6f0c47b658d3</feedburner:origLink></item>
    <item>
      <title>JavaScript setTimeout Function - JavaScript Timing Events</title>
      <description>&lt;p align="justify"&gt;
JavaScript features a couple of methods that lets you run a piece of JavaScript code (&lt;strong&gt;javascript function&lt;/strong&gt;) at some point in the future. These methods are:
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;setTimeout()&lt;/strong&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;setInterval()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
In this tutorial, I&amp;#39;ll explain how &lt;strong&gt;setTimetout&lt;/strong&gt;() method works, and give a real world example. You may find the details of &lt;strong&gt;setInterval()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setInterval-Function---JavaScript-Timing-Events.aspx"&gt;JavaScript setInterval Function - JavaScript Timing Events&lt;/a&gt;
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;setTimeout()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
&lt;strong&gt;window.setTimeout()&lt;/strong&gt; method allows you to specify a piece of JavaScript code (&lt;strong&gt;expression&lt;/strong&gt;) will be run after specified number of miliseconds from when the &lt;strong&gt;setTimeout()&lt;/strong&gt; method is called.
&lt;/p&gt;
&lt;h3&gt;Syntax&lt;/h3&gt;
&lt;p class="code"&gt;
&lt;strong&gt;var t = setTimeout ( expression, timeout ); &lt;/strong&gt;
&lt;/p&gt;
&lt;p align="justify"&gt;
The setTimeout() method returns a numeric timeout ID which can be used to refer the timeout to use with &lt;strong&gt;clearTimeout&lt;/strong&gt; method. The first parameter (&lt;strong&gt;expression&lt;/strong&gt;) of setTimeout() is a string containing a javascript statement. The statement could be a call to a JavaScript function like &amp;quot;delayedAlert();&amp;quot; or a&amp;nbsp; statement like &amp;quot;alert(&amp;#39;This alert is delayed.&amp;#39;);&amp;quot;. The second parameter (&lt;strong&gt;timeout&lt;/strong&gt;), indicates the number of &lt;strong&gt;miliseconds &lt;/strong&gt;to pass before executing the &lt;strong&gt;expression&lt;/strong&gt;.
&lt;/p&gt;
&lt;h3&gt;Example&amp;nbsp;&lt;/h3&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;head&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function delayedAlert()&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; var t=setTimeout(&amp;quot;alert(&amp;#39;You pressed the button 5 seconds ago!&amp;#39;)&amp;quot;,5000)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Display Delayed Alert&amp;quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; onClick=&amp;quot;delayedAlert();&amp;quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
An alert box will be shown 5 seconds later when you clicked the button.
&lt;/p&gt;
&lt;h2&gt;&lt;u&gt;clearTimeout()&lt;/u&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;
Sometimes it&amp;#39;s useful to be able to cancel a timer before it goes off. The &lt;strong&gt;clearTimeout()&lt;/strong&gt; method lets us do exactly that. Its syntax is:
&lt;/p&gt;
&lt;p class="code"&gt;
clearTimeout ( timeoutId );
&lt;/p&gt;
&lt;p align="justify"&gt;
where timeoutId is the ID of the timeout as returned from the &lt;strong&gt;setTimeout()&lt;/strong&gt; method call.
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/98JQp2yGlStf5aqLrnFa-fYIHDc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98JQp2yGlStf5aqLrnFa-fYIHDc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/98JQp2yGlStf5aqLrnFa-fYIHDc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/98JQp2yGlStf5aqLrnFa-fYIHDc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=71iJZNLhb10:8ukEaBH2bmM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=71iJZNLhb10:8ukEaBH2bmM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=71iJZNLhb10:8ukEaBH2bmM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=71iJZNLhb10:8ukEaBH2bmM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/71iJZNLhb10" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/71iJZNLhb10/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</guid>
      <pubDate>Fri, 16 Nov 2007 23:42:00 +0200</pubDate>
      <category>JavaScript</category>
      <category>All</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</pingback:target>
      <slash:comments>2</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=1b9c4e74-d09c-4c94-a396-5cea933e645f</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=1b9c4e74-d09c-4c94-a396-5cea933e645f</feedburner:origLink></item>
    <item>
      <title>JavaScript Url Redirect with Delay using setTimeout</title>
      <description>&lt;p align="justify"&gt;
&lt;strong&gt;Time delay in url redirection&lt;/strong&gt; may be useful for the following conditions: 
&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Refresh a web page in every specified seconds.&lt;/li&gt;
	&lt;li&gt;For displaying an &amp;quot;Update you Bookmark&amp;quot; page when a page Url has ben changed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p align="justify"&gt;
&lt;br /&gt;
The html and &lt;strong&gt;JavaScript code for url redirection with delay&lt;/strong&gt; is given below: 
&lt;/p&gt;
&lt;p class="code"&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
function &lt;strong&gt;delayedRedirect&lt;/strong&gt;(){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; window.location = &amp;quot;/default.aspx&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onLoad=&amp;quot;&lt;strong&gt;setTimeout&lt;/strong&gt;(&amp;#39;&lt;strong&gt;delayedRedirect&lt;/strong&gt;()&amp;#39;, 3000)&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;h2&amp;gt;You&amp;#39;ll be redirected soon!&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt; 
&lt;/p&gt;
&lt;p align="justify"&gt;
The JavaScript function &lt;strong&gt;setTimeout &lt;/strong&gt;is the most important part of the code given above. &lt;strong&gt;setTimeout &lt;/strong&gt;function calls &lt;strong&gt;delayedRedirect &lt;/strong&gt;function after 3 seconds (3000 miliseconds).
&lt;/p&gt;
&lt;p align="justify"&gt;
You may find the details of &lt;strong&gt;setTimeout()&lt;/strong&gt; method in &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-setTimeout-Function-JavaScript-Timing-Events.aspx"&gt;JavaScript setTimeout Function - JavaScript Timing Events&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/aHTJLjzyEl_4pI1BU6CzaTuFF3g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aHTJLjzyEl_4pI1BU6CzaTuFF3g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/aHTJLjzyEl_4pI1BU6CzaTuFF3g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/aHTJLjzyEl_4pI1BU6CzaTuFF3g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=GX-OsjJbTjc:3Njz1FFzVPY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=GX-OsjJbTjc:3Njz1FFzVPY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=GX-OsjJbTjc:3Njz1FFzVPY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=GX-OsjJbTjc:3Njz1FFzVPY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/GX-OsjJbTjc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/GX-OsjJbTjc/post.aspx</link>
      <author>Blogging Developer</author>
      <comments>http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</guid>
      <pubDate>Fri, 16 Nov 2007 20:19:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>Blogging Developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</pingback:target>
      <slash:comments>4</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=9266ad26-e74a-45df-b135-6d7403894903</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=9266ad26-e74a-45df-b135-6d7403894903</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=9266ad26-e74a-45df-b135-6d7403894903</feedburner:origLink></item>
    <item>
      <title>location.href vs. location.replace - The Difference Between JavaScript Url Redirection Methods</title>
      <description>&lt;p align="justify"&gt;JavaScript offers several ways to display a different page in the current browser window.&lt;/p&gt;
&lt;p&gt;Redirecting visitors with Javascript is straightforward. The simplest way is to use one of the methods given below.&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;location.href Method&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;Including the following script will immediately redirect visitors to the URL entered.&lt;/p&gt;
&lt;p class="code"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.href='http://www.bloggingdeveloper.com';&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;location.replace Method&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;Including the following script will immediately redirect visitors to the URL entered.&lt;/p&gt;
&lt;p class="code"&gt;&lt;span class="sh_symbol"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location.replace('http://www.bloggingdeveloper.com/');&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;The difference between location.href and location.replace&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;The difference between location.href and location.replace is that the former creates a new history entry on the visitor's browser meaning that if they hit the back button, they can get in a 'redirection loop' which is usually undesirable and may have unwanted side effects.&lt;/p&gt;
&lt;p align="justify"&gt;Also consider checking the post that focuses on Javascript redirection with delay at &lt;a href="http://www.bloggingdeveloper.com/post/JavaScript-Url-Redirect-with-Delay.aspx"&gt;JavaScript Url Redirect with Delay using setTimeout&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ELrGnMIw8waQDAgnlmlK9JBeeTY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ELrGnMIw8waQDAgnlmlK9JBeeTY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ELrGnMIw8waQDAgnlmlK9JBeeTY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ELrGnMIw8waQDAgnlmlK9JBeeTY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=68KWES-6wxU:rZGWGwgpc_A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=68KWES-6wxU:rZGWGwgpc_A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=68KWES-6wxU:rZGWGwgpc_A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=68KWES-6wxU:rZGWGwgpc_A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/68KWES-6wxU" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/68KWES-6wxU/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace-The-Difference-Between-JavaScript-Redirect-Methods.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</guid>
      <pubDate>Fri, 16 Nov 2007 19:18:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <category>Tips</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</pingback:target>
      <slash:comments>5</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=7318b558-f2d9-4522-8409-9bf731b9a83d</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Location-href-vs-Location-replace-The-Difference-Between-JavaScript-Redirect-Methods.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=7318b558-f2d9-4522-8409-9bf731b9a83d</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=7318b558-f2d9-4522-8409-9bf731b9a83d</feedburner:origLink></item>
    <item>
      <title>How To: Compress ViewState in ASP.NET 2.0 - ViewState Compression with System.IO.Compression</title>
      <description>&lt;p align="justify"&gt;ViewState is the built-in structure for automatically retaining values between multiple requests for the same page in ASP.NET. In other words, ViewState technology saves/restores page state between&amp;nbsp;postbacks. On the other hand, this technology comes with an overhead that affects performance especially during page load since the state data is&amp;nbsp;maintained in a hidden field.&lt;/p&gt;
&lt;p class="code"&gt;&amp;lt;input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJLTMzMTY4NDI5ZGRrYY+UdQNeb33gRiGcw2LoiMHduA==" /&amp;gt;&lt;/p&gt;
&lt;h2&gt;Reducing ViewState Size&lt;/h2&gt;
&lt;p align="justify"&gt;We can completely disable viewstate by setting EnableViewState to false in the page directive but you need extra programming effort&amp;nbsp;for you to take care of the&amp;nbsp;page state.&amp;nbsp;It is a good idea to disable ViewState for the controls that do not actually need it such as Literals and Labels by setting EnableViewState to false. But this do not entirely solve the problem.&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Compressing ViewState&lt;/h2&gt;
&lt;p align="justify"&gt;ASP.NET 2.0 comes with the System.IO.Compression namespace, which contains classes with functionality to compress/decompress streams. In ASP.NET 1.1, developers must use third party compression tools such as ICSharpCode.SharpZipLib to compress viewstate.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Compressing/Decompressing using GZipStream&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p align="justify"&gt;The following class contains two methods for&amp;nbsp;compressing and decompressing a stream.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p class="code"&gt;using System;&lt;br /&gt; using System.Data;&lt;br /&gt; using System.Configuration;&lt;br /&gt; using System.IO;&lt;br /&gt; using System.IO.Compression;&lt;br /&gt; &lt;br /&gt; public static class CompressViewState&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; public static byte[] Compress(byte[] data)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream output = new MemoryStream();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZipStream gzip = new GZipStream(output,&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompressionMode.Compress, true);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gzip.Write(data, 0, data.Length);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gzip.Close();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return output.ToArray();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; public static byte[] Decompress(byte[] data)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream input = new MemoryStream();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input.Write(data, 0, data.Length);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input.Position = 0;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GZipStream gzip = new GZipStream(input,&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompressionMode.Decompress, true);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream output = new MemoryStream();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] buff = new byte[64];&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int read = -1;&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read = gzip.Read(buff, 0, buff.Length);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (read &amp;gt; 0)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output.Write(buff, 0, read);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read = gzip.Read(buff, 0, buff.Length);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gzip.Close();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return output.ToArray();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; }&amp;nbsp;&lt;/p&gt;
&lt;p&gt;You need to save this class in a .cs file in the App_Code directory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Utilizing the CompressViewState Class&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In order to compress the ViewState of a web page, you have to override the two methods &lt;strong&gt;LoadPageStateFromPersistenceMedium&lt;/strong&gt; and &lt;strong&gt;SavePageStateToPersistenceMedium&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The folowing code creates a BasePage class which inherits from System.Web.UI.Page, and web pages using the following Base Page class as the base class utilizes ViewState compression. The BasePage class adds an additional hidden field __COMPRESSEDVIEWSTATE, to store the compressed ViewState.&lt;/p&gt;
&lt;p class="code"&gt;using System;&lt;br /&gt; using System.IO;&lt;br /&gt; using System.IO.Compression;&lt;br /&gt; using System.Collections;&lt;br /&gt; using System.ComponentModel;&lt;br /&gt; using System.Web.UI;&lt;br /&gt; using System.Configuration;&lt;br /&gt; using System.Threading;&lt;br /&gt; using System.Globalization;&lt;br /&gt; using System.Text; &lt;br /&gt; &lt;br /&gt; public abstract class BasePage : System.Web.UI.Page&lt;br /&gt; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; private ObjectStateFormatter _formatter = &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new ObjectStateFormatter(); &lt;br /&gt; &lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SavePageStateToPersistenceMedium(object viewState)&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MemoryStream ms = new MemoryStream();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _formatter.Serialize(ms, viewState);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] viewStateArray = ms.ToArray();&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClientScript.RegisterHiddenField("__COMPRESSEDVIEWSTATE",&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert.ToBase64String(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CompressViewState.Compress(viewStateArray)));&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; protected override object&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LoadPageStateFromPersistenceMedium()&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string vsString = Request.Form["__COMPRESSEDVIEWSTATE"];&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] bytes = Convert.FromBase64String(vsString);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; bytes = CompressViewState.Decompress(bytes);&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return _formatter.Deserialize(&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Convert.ToBase64String(bytes));&lt;br /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt; }&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;Demo&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Demo project contains two web pages. You may compare the compression performance using the demo project.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.bloggingdeveloper.com/posts/aspnet/compressviewstate.zip" title="Download Compressing View State Visual Studio Project"&gt;Download Compressing View State Visual Studio Project&lt;/a&gt;&amp;nbsp;&lt;br /&gt; &lt;br /&gt; &lt;a title="An online demo web page without viewstate compression." href="http://www.bloggingdeveloper.com/posts/aspnet/viewstatecompression/default_nocompression.aspx"&gt;An online demo web page without viewstate compression.&lt;/a&gt; &lt;br /&gt; &lt;a title="An online demo web page with viewstate compression." href="http://www.bloggingdeveloper.com/posts/aspnet/viewstatecompression/default_withcompression.aspx"&gt;An online demo web page with viewstate compression.&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;If you view the HTML of the page with viewstate compression, the __VIEWSTATE field is empty, while our __COMPRESSEDVIEWSTATE field contains the compressed ViewState, encoded in Base64.&lt;/p&gt;
&lt;h2&gt;ViewState Compression Performance&lt;/h2&gt;
&lt;p align="justify"&gt;After few tests using the demo project, ViewState size is reduces by 40 - 60% resulting shorter response times for users and less bandwidth need for site owners.&lt;/p&gt;
&lt;p&gt;Compression, decompressing, encoding and decoding data is a quite heavy work for the server so while you are saving from bandwidth and offering shorter response times for users, you are having a performance hit on the server's hardware.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eh8gE0y_iTZA27XOhV_yaLwn4Oc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eh8gE0y_iTZA27XOhV_yaLwn4Oc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eh8gE0y_iTZA27XOhV_yaLwn4Oc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eh8gE0y_iTZA27XOhV_yaLwn4Oc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DfNTis-JZbI:HK6UMFLwfuY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DfNTis-JZbI:HK6UMFLwfuY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=DfNTis-JZbI:HK6UMFLwfuY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=DfNTis-JZbI:HK6UMFLwfuY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/DfNTis-JZbI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/DfNTis-JZbI/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</guid>
      <pubDate>Thu, 15 Nov 2007 13:07:00 +0200</pubDate>
      <category>All</category>
      <category>ASP.NET</category>
      <category>C#</category>
      <category>Performance</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</pingback:target>
      <slash:comments>23</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/How-To-Compress-ViewState-in-ASPNET-20-ViewState-Compression-with-SystemIOCompression.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=2723aa57-c34e-4132-98ef-1d1d12a72de8</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=2723aa57-c34e-4132-98ef-1d1d12a72de8</feedburner:origLink></item>
    <item>
      <title>JavaScript substr Function</title>
      <description>&lt;p align="justify"&gt;When you write JavaScript, you need to know what string manipulation methods/functions are available.&lt;/p&gt;
&lt;h2&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="text-decoration: underline;"&gt;JavaScript &lt;strong&gt;substr()&lt;/strong&gt; Method&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p align="justify"&gt;The &lt;strong&gt;substr() &lt;/strong&gt;method extracts a specified number of characters in a string, from a start index. The syntax of &lt;strong&gt;substr() &lt;/strong&gt;is given below:&lt;/p&gt;
&lt;p class="code"&gt;stringObjectToTakeAPartOf.&lt;strong&gt;substr&lt;/strong&gt;(start-index,length)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;start-index: (Required - Numeric Value) - where to start the extraction&lt;/li&gt;
&lt;li&gt;length: (Optional - Numeric Value) - how many characters to extract &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;substr Example:&lt;/strong&gt;&lt;/h3&gt;
&lt;p class="code"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;br /&gt; &lt;br /&gt; var str = "Hello World";&lt;br /&gt; document.write(str.substr(4,4));&lt;br /&gt; &lt;br /&gt; &amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p align="justify"&gt;The output of the above code is:&lt;/p&gt;
&lt;p class="code"&gt;o wo&lt;/p&gt;
&lt;p align="justify"&gt;Since &lt;strong&gt;substr() is not cross-browser&lt;/strong&gt;, I never use it. Instead, I use the &lt;a title="Javascript substring() method" href="http://www.bloggingdeveloper.com/post/Javascript-substring-Method.aspx"&gt;javascript's substring() function&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/0LyH1Brm2Z9a_Wo7SqqoSB70eJ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0LyH1Brm2Z9a_Wo7SqqoSB70eJ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/0LyH1Brm2Z9a_Wo7SqqoSB70eJ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/0LyH1Brm2Z9a_Wo7SqqoSB70eJ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4URt8-x_Alg:w_D36PlK_6A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4URt8-x_Alg:w_D36PlK_6A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/bloggingdeveloper?a=4URt8-x_Alg:w_D36PlK_6A:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/bloggingdeveloper?i=4URt8-x_Alg:w_D36PlK_6A:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/4URt8-x_Alg" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/4URt8-x_Alg/post.aspx</link>
      <author>blogging developer</author>
      <comments>http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx#comment</comments>
      <guid isPermaLink="false">http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</guid>
      <pubDate>Sat, 10 Nov 2007 13:05:00 +0200</pubDate>
      <category>All</category>
      <category>JavaScript</category>
      <dc:publisher>blogging developer</dc:publisher>
      <pingback:server>http://www.bloggingdeveloper.com/pingback.axd</pingback:server>
      <pingback:target>http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</pingback:target>
      <slash:comments>1</slash:comments>
      <trackback:ping>http://www.bloggingdeveloper.com/trackback.axd?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</trackback:ping>
      <wfw:comment>http://www.bloggingdeveloper.com/post/Javascript-substr-Function.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.bloggingdeveloper.com/syndication.axd?post=4b8c8257-00be-416d-9216-7d4f5ba41bc6</wfw:commentRss>
    <feedburner:origLink>http://www.bloggingdeveloper.com/post.aspx?id=4b8c8257-00be-416d-9216-7d4f5ba41bc6</feedburner:origLink></item>
  <item><title>Links for 2007-10-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/aNbuGRxKFnQ/bloggingdeveloper</link><pubDate>Thu, 18 Oct 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-10-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Visual-Studio-Tip-Stop-Loosing-the-Clipboard-Data-Accidentally.aspx"&gt;Visual Studio Tip: Stop Loosing the Clipboard Data Accidentally&lt;/a&gt;&lt;br/&gt;
I frequently type Ctrl+C instead of Ctrl+V on a blank line and loose the data on the clipboard by copying a blank line.

Today, I discovered a VS option to disable cut and copy commands on blank lines when there is no selection.

You may find the opti&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/aNbuGRxKFnQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-10-17</feedburner:origLink></item><item><title>Links for 2007-09-20 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/7JBxXMa1mu8/bloggingdeveloper</link><pubDate>Fri, 21 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/IZWebFileManager---Advanced-ASPNET-20-Online-File-Manager-Server-Control.aspx"&gt;IZWebFileManager - Advanced ASP.NET 2.0 Online File Manager Server Control&lt;/a&gt;&lt;br/&gt;
IZWebFileManager is a web based file manager server control for Microsoft IIS web servers, written for ASP.NET 2.0. It is compatible with most-used browsers like Internet Explorer, Firefox and Netscape. 

Its features include: copying, moving, renaming,&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/7JBxXMa1mu8" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-20</feedburner:origLink></item><item><title>Links for 2007-09-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/EnrlDNWgkDc/bloggingdeveloper</link><pubDate>Tue, 18 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Convert-Parse-and-TryParse-Methods---Comparing-String-to-Numerical-Conversion-Methods.aspx"&gt;Convert, Parse and TryParse Methods - Comparing String to Numerical Conversion Methods&lt;/a&gt;&lt;br/&gt;
.Net provides several different ways to extract integers from strings. In this article, I will present the differences between Parse, TryParse and ConvertTo.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/EnrlDNWgkDc" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-17</feedburner:origLink></item><item><title>Links for 2007-09-12 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/TaskCXbso2M/bloggingdeveloper</link><pubDate>Thu, 13 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-12</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Using-JavaScript-with-ASPNET.aspx"&gt;Using JavaScript with ASP.NET&lt;/a&gt;&lt;br/&gt;
ASP.NET provides a powerful server-based programming model with its postback architecture that allows performing all the work on the server while ensuring security and compatibility. The most significant weakness of postback architecture is its overhead.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Cross-Browser-JavaScript-Events--Commonly-Supported-Events-that-are-Safe-to-Use.aspx"&gt;Cross-Browser JavaScript Events - Commonly Supported Events that are Safe to Use&lt;/a&gt;&lt;br/&gt;
The combination of JavaScript and HTML is called as DHTML (Dynamic HTML). Since not all browsers support the same level of DHTML, the events you can use and the way events work vary from browser to browser. 

The following table contains the JavaScript&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Limiting-the-File-Upload-Size-in-ASPNET.aspx"&gt;Limiting the File Upload Size in ASP.NET&lt;/a&gt;&lt;br/&gt;
By default, the maximum size of a file to be uploaded to a server using the ASP.NET FileUpload control is 4MB. You cannot upload anything that is larger than this limit. To change this size limit, you have to make some changes in the application&amp;#039;s web.con&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/TaskCXbso2M" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-12</feedburner:origLink></item><item><title>Links for 2007-09-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/Lm6OV-7UY0E/bloggingdeveloper</link><pubDate>Tue, 11 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/7-Easy-to-Apply-Tips-to-Improve-Your-Web-Site-Performance.aspx"&gt;7 Easy-to-Apply Tips to Improve Your Web Site Performance&lt;/a&gt;&lt;br/&gt;
lot of articles have been written on website performance optimization lately but I want to share my hands-on-experience and important articles on the subject.

There are two types of performance:

    * Server Performance
    * Perceived Performance&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/How-To-Minimize-HTTP-Requests-The-Most-Important-Guideline-for-Improving-Web-Site-Performance.aspx"&gt;How To: Minimize HTTP Requests &amp;ndash; The Most Important Guideline for Improving Web Site Performance&lt;/a&gt;&lt;br/&gt;
n my previous article 7 Easy-to-Apply Tips to Improve Your Web Site Performance, I described methods to achieve better client-side performance.  The conclusion of the article was: “The most important and effective way to improve web site performance is&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/Lm6OV-7UY0E" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-10</feedburner:origLink></item><item><title>Links for 2007-09-08 [del.icio.us]</title><link>http://feedproxy.google.com/~r/bloggingdeveloper/~3/w__xMI8mPwA/bloggingdeveloper</link><pubDate>Sun, 09 Sep 2007 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/bloggingdeveloper#2007-09-08</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.bloggingdeveloper.com/post/Absolutely-Pluggable-Application-Wide-Error-Logging-Facility-for-ASPNET-Web-Applications---ELMAH.aspx"&gt;Absolutely Pluggable Application-Wide Error Logging Facility for ASP.NET Web Applications - ELMAH&lt;/a&gt;&lt;br/&gt;
After taking a web application online, you need to track exceptions and errors effectively in order to debug problems. ELMAH (Error Logging Modules and Handlers) is an application wide error logging facility which is completely pluggable therefore it can&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/bloggingdeveloper/~4/w__xMI8mPwA" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/bloggingdeveloper#2007-09-08</feedburner:origLink></item></channel>
</rss>
