<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>iframe</title>
        <link>http://geekswithblogs.net/rashid/category/6041.aspx</link>
        <description>iframe</description>
        <language>en-US</language>
        <copyright>Kazi Manzur Rashid</copyright>
        <managingEditor>kazimanzurrashid@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Create An Ajax Style File Upload</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx</link>
            <description>&lt;p&gt;If you visit &lt;a href="http://forums.asp.net/default.aspx?GroupID=34" target="_blank"&gt;Asp.net Ajax Forum&lt;/a&gt;, you will find hundreds of request on File Upload Control that it does not give Ajax version of the page when it is placed in an &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt;. Certainly, it is not possible, as the &lt;font face="Courier New"&gt;XMLHTTPRequest&lt;/font&gt; object that is used internally to post the form does not support file upload. In this post I will show you how to create Ajax like version of the file upload. The trick is very simple, I will use an &lt;font face="Courier New"&gt;Iframe&lt;/font&gt; to upload the file so the whole page does not get refreshed and when the post is in progress it will show a dummy progress. The following shows you the screenshots of the solutions:&lt;/p&gt; &lt;p&gt; &lt;/p&gt;&lt;table cellspacing="0" cellpadding="3" border="0" unselectable="on"&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td style="vertical-align: top"&gt;&lt;img alt="Initial" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/6912/r_Initial.jpg" /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;img alt="In Progress" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/6912/r_InProgress.jpg" /&gt;&lt;/td&gt; &lt;td style="vertical-align: top"&gt;&lt;img alt="Complete" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/6912/r_Complete.jpg" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt; &lt;p&gt;Now lets discuss the implementation part, starting with the Main page markup.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Photo Upload Demo&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="divFrame"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;iframe&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="ifrPhoto"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;onload&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="initPhotoUpload()"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;scrolling&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="no"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;frameborder&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;hidefocus&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="true"&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text-align:center;vertical-align:middle;border-style:none;margin:0px;width:100%;height:55px"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="PhotoUpload.aspx"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;iframe&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="divUploadMessage"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding-top:4px;display:none"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="divUploadProgress"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding-top:4px;display:none"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;span&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="font-size:smaller"&amp;gt;&lt;/span&gt;Uploading photo...&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;span&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;table&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;border&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;cellpadding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;cellspacing&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="2"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="width:100%"&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress1"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress2"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress3"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress4"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress5"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress6"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress7"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress8"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress9"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="tdProgress10"&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As you see that we are using few &lt;font face="Courier New"&gt;divs&lt;/font&gt; to show and hide the upload form and the progress bar. The important thing is we are binding the &lt;font face="Courier New"&gt;initPhotoUpload&lt;/font&gt; in the frame &lt;font face="Courier New"&gt;load&lt;/font&gt; event. Now let us check the &lt;font face="Courier New"&gt;iframe&lt;/font&gt; source page markup.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;form&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="photoUpload"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;enctype&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="multipart/form-data"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;input&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="filPhoto"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="file"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;runat&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="server"/&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="divUpload"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding-top:4px"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;input&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="btnUpload"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="button"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;value&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Upload Photo"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The &lt;font face="Courier New"&gt;iframe&lt;/font&gt; source page contains only a file upload control and a button to post the form. Now lets get back to the main page &lt;font face="Courier New"&gt;initPhotoUpload&lt;/font&gt; function and lets check how it is implemented:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; initPhotoUpload()
{
    _divFrame = document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'divFrame'&lt;/span&gt;);
    _divUploadMessage = document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'divUploadMessage'&lt;/span&gt;);
    _divUploadProgress = document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'divUploadProgress'&lt;/span&gt;);
    _ifrPhoto = document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'ifrPhoto'&lt;/span&gt;);

    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; btnUpload = _ifrPhoto.contentWindow.document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'btnUpload'&lt;/span&gt;);

    btnUpload.onclick = &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;event&lt;/span&gt;)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; filPhoto = _ifrPhoto.contentWindow.document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'filPhoto'&lt;/span&gt;);

        &lt;span style="color: rgb(0,128,0)"&gt;//Baisic validation for Photo
&lt;/span&gt;        _divUploadMessage.style.display = &lt;span style="color: rgb(163,21,21)"&gt;'none'&lt;/span&gt;;

        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (filPhoto.value.length == 0)
        {
            _divUploadMessage.innerHTML = &lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;span style=\"color:#ff0000\"&amp;gt;Please specify the file.&amp;lt;/span&amp;gt;'&lt;/span&gt;;
            _divUploadMessage.style.display = &lt;span style="color: rgb(163,21,21)"&gt;''&lt;/span&gt;;
            filPhoto.focus();
            &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;
        }

        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; regExp = /^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))(.jpg|.JPG|.gif|.GIF|.png|.PNG|.bmp|.BMP)$/;

        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!regExp.test(filPhoto.value)) &lt;span style="color: rgb(0,128,0)"&gt;//Somehow the expression does not work in Opera
&lt;/span&gt;        {
            _divUploadMessage.innerHTML = &lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;span style=\"color:#ff0000\"&amp;gt;Invalid file type. Only supports jpg, gif, png and bmp.&amp;lt;/span&amp;gt;'&lt;/span&gt;;
            _divUploadMessage.style.display = &lt;span style="color: rgb(163,21,21)"&gt;''&lt;/span&gt;;
            filPhoto.focus();
            &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;
        }

        beginPhotoUploadProgress();
        _ifrPhoto.contentWindow.document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'photoUpload'&lt;/span&gt;).submit();
        _divFrame.style.display = &lt;span style="color: rgb(163,21,21)"&gt;'none'&lt;/span&gt;;
    }
}&lt;/pre&gt;
&lt;p&gt;Once the &lt;font face="Courier New"&gt;iframe&lt;/font&gt; is loaded we are setting few module level variables (All module level variables are prefixed with _ (underscore) character in this example) to DOM elements, we are also getting the reference of the Upload button which is in the &lt;font face="Courier New"&gt;iframe&lt;/font&gt; and creating its &lt;font face="Courier New"&gt;click&lt;/font&gt; handler. In the click handler first we are doing few basic validation such as the file upload control is not empty or the file that is specified has a valid image file extension. Once the validation qualifies then we are calling the &lt;font face="Courier New"&gt;beginPhotoUploadProgress&lt;/font&gt; function (discussed next) and submitting the iframe form. The &lt;font face="Courier New"&gt;beginPhotoUploadProgress&lt;/font&gt; function is the first of three functions which are used to show the dummy progress bar. Let us see how these functions are written:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; beginPhotoUploadProgress()
{
    _divUploadProgress.style.display = &lt;span style="color: rgb(163,21,21)"&gt;''&lt;/span&gt;;
    clearPhotoUploadProgress();
    _photoUploadProgressTimer = setTimeout(updatePhotoUploadProgress, PROGRESS_INTERVAL);
}

&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; clearPhotoUploadProgress()
{
    &lt;span style="color: rgb(0,0,255)"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; i = 1; i &amp;lt;= _maxLoop; i++)
    {
        document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'tdProgress'&lt;/span&gt; + i).style.backgroundColor = &lt;span style="color: rgb(163,21,21)"&gt;'transparent'&lt;/span&gt;;
    }

    document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'tdProgress1'&lt;/span&gt;).style.backgroundColor = PROGRESS_COLOR;
    _loopCounter = 1;
}

&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; updatePhotoUploadProgress()
{
    _loopCounter += 1;

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (_loopCounter &amp;lt;= _maxLoop)
    {
        document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'tdProgress'&lt;/span&gt; + _loopCounter).style.backgroundColor = PROGRESS_COLOR;
    }
    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; 
    {
        clearPhotoUploadProgress();
    }

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (_photoUploadProgressTimer)
    {
        clearTimeout(_photoUploadProgressTimer);
    }

    _photoUploadProgressTimer = setTimeout(updatePhotoUploadProgress, PROGRESS_INTERVAL);
}&lt;/pre&gt;
&lt;p&gt;As we can see we are basically using the timer (&lt;font face="Courier New"&gt;window.setTimeout&lt;/font&gt;) to show the dummy progress in these functions. Now lets see what happens in the server side when the &lt;font face="Courier New"&gt;iframe&lt;/font&gt; page posts.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;const&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; SCRIPT_TEMPLATE = &lt;span style="color: rgb(163,21,21)"&gt;"&amp;lt;"&lt;/span&gt; + &lt;span style="color: rgb(163,21,21)"&gt;"script "&lt;/span&gt; + &lt;span style="color: rgb(163,21,21)"&gt;"type=\"text/javascript\"&amp;gt;window.parent.photoUploadComplete('{0}', {1});"&lt;/span&gt; + &lt;span style="color: rgb(163,21,21)"&gt;"&amp;lt;"&lt;/span&gt; + &lt;span style="color: rgb(163,21,21)"&gt;"/script"&lt;/span&gt; + &lt;span style="color: rgb(163,21,21)"&gt;"&amp;gt;"&lt;/span&gt;;

&lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
{
    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (IsPostBack)
    {
        &lt;span style="color: rgb(0,128,0)"&gt;//Sleeping for 10 seconds, fake delay, You should not it try at home.
&lt;/span&gt;        System.Threading.&lt;span style="color: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(10 * 1000);
        UploadPhoto();
    }
}

&lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; UploadPhoto()
{
    &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; script = &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.Empty;

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((filPhoto.PostedFile != &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (filPhoto.PostedFile.ContentLength &amp;gt; 0))
    {
        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!IsValidImageFile(filPhoto))
        {
            script = &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.Format(SCRIPT_TEMPLATE, &lt;span style="color: rgb(163,21,21)"&gt;"The uploaded file is not a valid image file."&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"true"&lt;/span&gt;);
        }
    }
    &lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;    {
        script = &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.Format(SCRIPT_TEMPLATE, &lt;span style="color: rgb(163,21,21)"&gt;"Please specify a valid file."&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"true"&lt;/span&gt;);
    }

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.IsNullOrEmpty(script))
    {
        &lt;span style="color: rgb(0,128,0)"&gt;//Uploaded file is valid, now we can do whatever we like to do, copying it file system,
&lt;/span&gt;        &lt;span style="color: rgb(0,128,0)"&gt;//saving it in db etc.

&lt;/span&gt;        &lt;span style="color: rgb(0,128,0)"&gt;//Your Logic goes here

&lt;/span&gt;        script = &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.Format(SCRIPT_TEMPLATE, &lt;span style="color: rgb(163,21,21)"&gt;"Photo uploaded."&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"false"&lt;/span&gt;);
    }

    &lt;span style="color: rgb(0,128,0)"&gt;//Now inject the script which will fire when the page is refreshed.
&lt;/span&gt;    ClientScript.RegisterStartupScript(&lt;span style="color: rgb(0,0,255)"&gt;this&lt;/span&gt;.GetType(), &lt;span style="color: rgb(163,21,21)"&gt;"uploadNotify"&lt;/span&gt;, script);
}

&lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;bool&lt;/span&gt; IsValidImageFile(&lt;span style="color: rgb(43,145,175)"&gt;HtmlInputFile&lt;/span&gt; file)
{
    &lt;span style="color: rgb(0,0,255)"&gt;try
&lt;/span&gt;    {
        &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(43,145,175)"&gt;Bitmap&lt;/span&gt; bmp = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Bitmap&lt;/span&gt;(file.PostedFile.InputStream))
        {
            &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;;
        }
    }
    &lt;span style="color: rgb(0,0,255)"&gt;catch&lt;/span&gt; (&lt;span style="color: rgb(43,145,175)"&gt;ArgumentException&lt;/span&gt;)
    {
        &lt;span style="color: rgb(0,128,0)"&gt;//throws exception if not valid image
&lt;/span&gt;    }

    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;false&lt;/span&gt;;
}
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;In the server side we are first doing some basic validation such as the file upload control has file and the file is a valid image file. Once the validation is done we are injecting some javascript which will be executed when the page is loaded in the browser. The javascript calls the main page &lt;font face="Courier New"&gt;photoUploadComplete&lt;/font&gt; function which shows the success/failure or the validation message of the upload. Lets see the javascript function &lt;font face="Courier New"&gt;photoUploadComplete&lt;/font&gt; of the main page.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; photoUploadComplete(message, isError)
{
    clearPhotoUploadProgress();

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (_photoUploadProgressTimer)
    {
        clearTimeout(_photoUploadProgressTimer);
    }

    _divUploadProgress.style.display = &lt;span style="color: rgb(163,21,21)"&gt;'none'&lt;/span&gt;;
    _divUploadMessage.style.display = &lt;span style="color: rgb(163,21,21)"&gt;'none'&lt;/span&gt;;
    _divFrame.style.display = &lt;span style="color: rgb(163,21,21)"&gt;''&lt;/span&gt;;

    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (message.length)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; color = (isError) ? &lt;span style="color: rgb(163,21,21)"&gt;'#ff0000'&lt;/span&gt; : &lt;span style="color: rgb(163,21,21)"&gt;'#008000'&lt;/span&gt;;

        _divUploadMessage.innerHTML = &lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;span style=\"color:'&lt;/span&gt; + color + &lt;span style="color: rgb(163,21,21)"&gt;'\;font-weight:bold"&amp;gt;'&lt;/span&gt; + message + &lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;/span&amp;gt;'&lt;/span&gt;;
        _divUploadMessage.style.display = &lt;span style="color: rgb(163,21,21)"&gt;''&lt;/span&gt;;

        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (isError)
        {
            _ifrPhoto.contentWindow.document.getElementById(&lt;span style="color: rgb(163,21,21)"&gt;'filPhoto'&lt;/span&gt;).focus();
        }
    }
}&lt;/pre&gt;
&lt;p&gt;The function simply hides the progress bar and shows the upload control then it shows the message in colored text which is sent from the server.&lt;/p&gt;
&lt;p&gt;I hope you can easily implment it in Ajax UpdatePanel, if not please let me know, I will show it in next post.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt; : &lt;a href="http://www.box.net/shared/d72om3h1g2" target="_blank"&gt;Complete Solution&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114308"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114308" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rashid/aggbug/114308.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kazi Manzur Rashid</dc:creator>
            <guid>http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx</guid>
            <pubDate>Tue, 31 Jul 2007 21:36:58 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rashid/comments/114308.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rashid/archive/2007/08/01/Create-An-Ajax-Style-File-Upload.aspx#feedback</comments>
            <slash:comments>42</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rashid/comments/commentRss/114308.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rashid/services/trackbacks/114308.aspx</trackback:ping>
        </item>
        <item>
            <title>Cross Domain Iframe Resize</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/01/13/103518.aspx</link>
            <description>&lt;p&gt;Recently I was trying to set an iframe height which is hosted in another domain. But could not able to get its height from its hosting window - It always throws security exception. I searched Google and found a interesting example on Iframe cross domain messaging, here is the &lt;a href="http://tagneto.blogspot.com/2006/06/cross-domain-frame-communication-with.html" target="_blank"&gt;link&lt;/a&gt;. Based upon it I have created a small solution which finally does the job. Here are files, you can also download these files from this &lt;a href="http://www.box.net/public/vn5hq5rdq1" target="_blank"&gt;link&lt;/a&gt;:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;// FrameManager.js -- Must be added in Hosting window&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; FrameManager =&lt;br /&gt;{&lt;br /&gt;    currentFrameId : &lt;span style="color: rgb(128,0,0)"&gt;''&lt;/span&gt;,&lt;br /&gt;    currentFrameHeight : 0,&lt;br /&gt;    lastFrameId : &lt;span style="color: rgb(128,0,0)"&gt;''&lt;/span&gt;,&lt;br /&gt;    lastFrameHeight : 0,&lt;br /&gt;    resizeTimerId : &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;br /&gt;    init : &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (FrameManager.resizeTimerId == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            FrameManager.resizeTimerId = window.setInterval(FrameManager.resizeFrames, 500);&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    resizeFrames : &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;()&lt;br /&gt;    {&lt;br /&gt;        FrameManager.retrieveFrameIdAndHeight();&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((FrameManager.currentFrameId != FrameManager.lastFrameId) ||&lt;br /&gt;            (FrameManager.currentFrameHeight != FrameManager.lastFrameHeight))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; iframe = document.getElementById(FrameManager.currentFrameId.toString());&lt;br /&gt;&lt;br /&gt;            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (iframe == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;            iframe.style.height = FrameManager.currentFrameHeight.toString() + &lt;span style="color: rgb(128,0,0)"&gt;"px"&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;            FrameManager.lastFrameId = FrameManager.currentFrameId;&lt;br /&gt;            FrameManager.lastFrameHeight = FrameManager.currentFrameHeight;&lt;br /&gt;            window.location.hash = &lt;span style="color: rgb(128,0,0)"&gt;''&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    retrieveFrameIdAndHeight : &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;()&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (window.location.hash.length == 0) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; hashValue = window.location.hash.substring(1);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((hashValue == &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) || (hashValue.length == 0)) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; pairs = hashValue.split(&lt;span style="color: rgb(128,0,0)"&gt;'&amp;amp;'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((pairs != &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (pairs.length &amp;gt; 0))&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: rgb(0,0,255)"&gt;for&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; i = 0; i &amp;lt; pairs.length; i++)&lt;br /&gt;            {&lt;br /&gt;                &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; pair = pairs[i].split(&lt;span style="color: rgb(128,0,0)"&gt;'='&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;                &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((pair != &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (pair.length &amp;gt; 0))&lt;br /&gt;                {&lt;br /&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (pair[0] == &lt;span style="color: rgb(128,0,0)"&gt;'frameId'&lt;/span&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((pair[1] != &lt;span style="color: rgb(0,0,255)"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (pair[1].length &amp;gt; 0))&lt;br /&gt;                        {&lt;br /&gt;                            FrameManager.currentFrameId = pair[1];&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (pair[0] == &lt;span style="color: rgb(128,0,0)"&gt;'height'&lt;/span&gt;)&lt;br /&gt;                    {&lt;br /&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; height = parseInt(pair[1]);&lt;br /&gt;&lt;br /&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!isNaN(height))&lt;br /&gt;                        {&lt;br /&gt;                            FrameManager.currentFrameHeight = height;&lt;br /&gt;                            FrameManager.currentFrameHeight += 15;&lt;br /&gt;                        }&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    },&lt;br /&gt;&lt;br /&gt;    registerFrame : &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;(frame)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; currentLocation = location.href;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; hashIndex = currentLocation.indexOf(&lt;span style="color: rgb(128,0,0)"&gt;'#'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (hashIndex &amp;gt; -1)&lt;br /&gt;        {&lt;br /&gt;            currentLocation = currentLocation.substring(0, hashIndex);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        frame.contentWindow.location = frame.src + &lt;span style="color: rgb(128,0,0)"&gt;'?frameId='&lt;/span&gt; + frame.id + &lt;span style="color: rgb(128,0,0)"&gt;'#'&lt;/span&gt; + currentLocation;&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;window.setTimeout(FrameManager.init, 300);&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;&amp;lt;!--Host.html-Where the Target iframe resides--&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;html&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;xmlns&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;IFrame Resize Sample&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text/javascript"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="FrameManager.js"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;The Following is an iframe:&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;iframe&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="ifrSample1"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;scrolling&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="no"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;frameborder&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Frame.html"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="margin:0px;width:330px;height:100px"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;onload&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="FrameManager.registerFrame(this)"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;iframe&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;html&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;// Frame.js -- Must be added in iframe window&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; publishHeight()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (window.location.hash.length == 0) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; frameId = getFrameId();&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (frameId == &lt;span style="color: rgb(128,0,0)"&gt;''&lt;/span&gt;) &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; actualHeight = getBodyHeight();&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; currentHeight = getViewPortHeight();&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt;  (Math.abs(actualHeight - currentHeight) &amp;gt; 15)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; hostUrl = window.location.hash.substring(1);&lt;br /&gt;&lt;br /&gt;        hostUrl += &lt;span style="color: rgb(128,0,0)"&gt;"#"&lt;/span&gt;;&lt;br /&gt;        hostUrl += &lt;span style="color: rgb(128,0,0)"&gt;'frameId='&lt;/span&gt; + frameId;&lt;br /&gt;        hostUrl += &lt;span style="color: rgb(128,0,0)"&gt;'&amp;amp;'&lt;/span&gt;;&lt;br /&gt;        hostUrl += &lt;span style="color: rgb(128,0,0)"&gt;'height='&lt;/span&gt; + actualHeight.toString();&lt;br /&gt;&lt;br /&gt;        window.top.location = hostUrl;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; getFrameId()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; qs = parseQueryString(window.location.href);&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; frameId = qs[&lt;span style="color: rgb(128,0,0)"&gt;"frameId"&lt;/span&gt;];&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; hashIndex = frameId.indexOf(&lt;span style="color: rgb(128,0,0)"&gt;'#'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (hashIndex &amp;gt; -1)&lt;br /&gt;    {&lt;br /&gt;        frameId = frameId.substring(0, hashIndex);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; frameId;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; getBodyHeight()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; height;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; scrollHeight;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; offsetHeight;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (document.height)&lt;br /&gt;    {&lt;br /&gt;        height = document.height;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (document.body)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (document.body.scrollHeight)&lt;br /&gt;        {&lt;br /&gt;            height = scrollHeight = document.body.scrollHeight;&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (document.body.offsetHeight)&lt;br /&gt;        {&lt;br /&gt;            height = offsetHeight = document.body.offsetHeight;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (scrollHeight &amp;amp;&amp;amp; offsetHeight)&lt;br /&gt;        {&lt;br /&gt;            height = Math.max(scrollHeight, offsetHeight);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; height;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; getViewPortHeight()&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; height = 0;&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (window.innerHeight)&lt;br /&gt;    {&lt;br /&gt;        height = window.innerHeight - 18;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((document.documentElement) &amp;amp;&amp;amp; (document.documentElement.clientHeight))&lt;br /&gt;    {&lt;br /&gt;        height = document.documentElement.clientHeight;&lt;br /&gt;    }&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; ((document.body) &amp;amp;&amp;amp; (document.body.clientHeight))&lt;br /&gt;    {&lt;br /&gt;        height = document.body.clientHeight;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; height;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; parseQueryString(url)&lt;br /&gt;{&lt;br /&gt;    url = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; String(url);&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; queryStringValues = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; Object();&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; querystring = url.substring((url.indexOf(&lt;span style="color: rgb(128,0,0)"&gt;'?'&lt;/span&gt;) + 1), url.length);&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; querystringSplit = querystring.split(&lt;span style="color: rgb(128,0,0)"&gt;'&amp;amp;'&lt;/span&gt;);&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;for&lt;/span&gt; (i = 0; i &amp;lt; querystringSplit.length; i++)&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; pair = querystringSplit[i].split(&lt;span style="color: rgb(128,0,0)"&gt;'='&lt;/span&gt;);&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; name = pair[0];&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; value = pair[1];&lt;br /&gt;&lt;br /&gt;        queryStringValues[name] = value;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; queryStringValues;&lt;br /&gt;}&lt;/pre&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;&amp;lt;!--Frame.html-Will reside in another domain--&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;html&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;xmlns&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Page In IFrame&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text/javascript"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Frame.js"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;        window.onload = &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;event&lt;/span&gt;)&lt;br /&gt;        {&lt;br /&gt;            window.setInterval(publishHeight, 300);&lt;br /&gt;        }&lt;br /&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:4px;border:solid 1px #cccccc;width:300px"&amp;gt;&lt;br /&gt;&lt;/span&gt;            Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce in tortor sit amet sem luctus ornare. Nam sed augue id erat commodo gravida. Nulla in pede. Nunc sed elit non pede aliquam eleifend. Cras varius. Sed non lorem eget ipsum accumsan suscipit. Donec bibendum enim. Phasellus a ligula. Fusce turpis diam, ultricies at, ullamcorper a, consectetuer et, mauris. Pellentesque neque felis, scelerisque non, vestibulum at, luctus quis, velit. Quisque sit amet mi sed sem facilisis ornare. In leo ante, hendrerit nec, lobortis eget, feugiat ac, orci.&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:4px;border:solid 1px #cccccc;width:300px"&amp;gt;&lt;br /&gt;&lt;/span&gt;            Maecenas ullamcorper ornare urna. Sed ornare leo vel lorem pretium ornare. Sed vitae lacus eu pede molestie venenatis. Morbi vestibulum. Proin tincidunt, sem sit amet semper volutpat, nulla ante pulvinar turpis, ut porta turpis augue sit amet magna. Nam in mauris. In mauris. Nunc metus. Duis eget diam. Sed vulputate lacus eget ipsum. Etiam ultricies bibendum ligula. Mauris semper, magna nec posuere pretium, quam lectus ultricies magna, ac pharetra risus ligula at dui. Integer volutpat sagittis ipsum.&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:4px;border:solid 1px #cccccc;width:300px"&amp;gt;&lt;br /&gt;&lt;/span&gt;            Cras pretium. Morbi condimentum. Morbi leo dui, hendrerit non, rhoncus vitae, ultrices sed, quam. Praesent sit amet quam non turpis pellentesque egestas. Aliquam odio lacus, condimentum eu, tempus eget, porta ac, ipsum. Phasellus sit amet mauris at nisl lobortis aliquet. Suspendisse fringilla metus porta lacus. Nam aliquet. Sed vestibulum tellus ac leo. Nunc sed metus vel nisl ultricies fermentum. Maecenas aliquam ligula quis est venenatis mattis. Suspendisse sollicitudin aliquet leo. Quisque condimentum felis ac nisl. Curabitur bibendum, pede et venenatis ornare, massa justo ullamcorper velit, a rutrum tellus mi et ligula. Maecenas nibh libero, faucibus vel, lacinia ac, laoreet nec, odio. Quisque dui quam, vestibulum sit amet, convallis eget, fermentum nec, mauris. Vivamus et massa ut orci pellentesque consectetuer. Proin dolor arcu, ornare non, iaculis eu, aliquam sed, quam. Morbi volutpat semper ipsum.&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:4px;border:solid 1px #cccccc;width:300px"&amp;gt;&lt;br /&gt;&lt;/span&gt;            Suspendisse potenti. Praesent eu turpis. Nullam nulla sem, sollicitudin lacinia, laoreet rhoncus, commodo nec, nisl. Nam pharetra porta justo. Etiam faucibus, turpis eu dapibus varius, felis nibh tempus justo, sed faucibus metus dolor nec leo. Sed rutrum, sapien eget placerat accumsan, enim quam porttitor leo, ac aliquam felis elit non enim. Sed dapibus nonummy massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean sagittis, metus et hendrerit aliquam, ligula turpis nonummy diam, id interdum risus ligula et magna. Phasellus vel nibh in lorem pretium iaculis.&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:4px;border:solid 1px #cccccc;width:300px"&amp;gt;&lt;br /&gt;&lt;/span&gt;            Proin mattis pharetra libero. Morbi varius, nunc laoreet blandit porttitor, pede augue condimentum felis, ac varius libero nibh eu est. Mauris condimentum arcu eget dolor. Phasellus vitae ipsum vel tellus feugiat lacinia. Quisque leo diam, porta id, commodo quis, ornare vitae, massa. In cursus dictum ante. In hac habitasse platea dictumst. Donec volutpat sem nec mauris. Donec venenatis lorem eget quam. Curabitur vitae ipsum sit amet augue dignissim ultricies. Maecenas eget velit. Donec nec tellus at lectus rhoncus ultricies.&lt;br /&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128,0,0)"&gt;html&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://manzurrashid.wordpress.com/2006/12/16/cross-domain-iframe-resize"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://manzurrashid.wordpress.com/2006/12/16/cross-domain-iframe-resize" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103518"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=103518" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rashid/aggbug/103518.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kazi Manzur Rashid</dc:creator>
            <guid>http://geekswithblogs.net/rashid/archive/2007/01/13/103518.aspx</guid>
            <pubDate>Sat, 13 Jan 2007 17:40:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rashid/comments/103518.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rashid/archive/2007/01/13/103518.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rashid/comments/commentRss/103518.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rashid/services/trackbacks/103518.aspx</trackback:ping>
        </item>
    </channel>
</rss>