<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Ajax on IE7: make sure you invoke native XMLHttpRequest object</title>
	<atom:link href="http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/</link>
	<description>dynamic typeof() guy</description>
	<lastBuildDate>Wed, 30 Mar 2011 08:02:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: brentashley &#187; Blog Archive &#187; Simplicity begets Stability</title>
		<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/comment-page-1/#comment-22704</link>
		<dc:creator>brentashley &#187; Blog Archive &#187; Simplicity begets Stability</dc:creator>
		<pubDate>Mon, 25 Sep 2006 18:11:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/#comment-22704</guid>
		<description>[...] I&#8217;ve been making Ajax apps that work well enough for years while many people have been waiting for all the stars to align before they even try it. I&#8217;ve had all sorts of flack from pedants for using iframes and img/cookie because they&#8217;re hacks, but JSRS and RSLite have worked consistently and predictably across a large number of browsers for 5 years and more without modification. I only changed my Blogchat app to use XMLHttpRequest recently (for no really good reason - it&#8217;s been unchanged since 2002) and the first thing that happened was a huge debugging session to figure out a really wonky deep IE7 issue. [...]</description>
		<content:encoded><![CDATA[<p>[...] I&#8217;ve been making Ajax apps that work well enough for years while many people have been waiting for all the stars to align before they even try it. I&#8217;ve had all sorts of flack from pedants for using iframes and img/cookie because they&#8217;re hacks, but JSRS and RSLite have worked consistently and predictably across a large number of browsers for 5 years and more without modification. I only changed my Blogchat app to use XMLHttpRequest recently (for no really good reason &#8211; it&#8217;s been unchanged since 2002) and the first thing that happened was a huge debugging session to figure out a really wonky deep IE7 issue. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: IEBlog : An XMLHTTPRequest tip</title>
		<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/comment-page-1/#comment-6538</link>
		<dc:creator>IEBlog : An XMLHTTPRequest tip</dc:creator>
		<pubDate>Thu, 08 Jun 2006 22:31:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/#comment-6538</guid>
		<description>[...] An XMLHTTPRequest tip Over on the Ajax Blog, Dion Almaer passed on an important tip from Brent Ashley and Tim Aiello for AJAX developers â€“ to have your cross-browser AJAX work better with IE7, you really should be invoking the native XMLHTTPRequest (the cross-browser one) first to see if itâ€™s available before instantiating the ActiveX control, instead of the other way around. In addition to the reasons that Brent and Tim discovered, Iâ€™ve seen a bunch of code that creates the&#160;XMLHTTPRequest object, uses it for a request, and then throws it away. &#160;Obviously, this is a lot less performant than keeping the object around for multiple requests. &#160;The native object&#039;s lifetime can be as long as that of the page. So you can reuse it like this: &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; var&#160; o = new XMLHttpRequestObject()&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.open(â€œGETâ€, â€œdata1.xmlâ€,&#160; TRUE);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.onreadystatechange = foo();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.send();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; â€¦â€¦.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.open(â€œGETâ€, â€œdata2.xmlâ€,&#160; TRUE);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.onreadystatechange=bar();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; o.send(); Xmlhttp.open has a â€œresetâ€ semantic so the second open() call on the same object will abort the previous connection, disconnect previous event handler, and reset the object. There&#039;s also a handy tool by Julien Couvreur for debugging XHTMLHTTPRequest calls&#160;for IE, or you can use Fiddler. -Chris  Published Thursday, June 08, 2006 3:30 PM by ieblog Filed Under: Tips and Tricks, Developers [...]</description>
		<content:encoded><![CDATA[<p>[...] An XMLHTTPRequest tip Over on the Ajax Blog, Dion Almaer passed on an important tip from Brent Ashley and Tim Aiello for AJAX developers â€“ to have your cross-browser AJAX work better with IE7, you really should be invoking the native XMLHTTPRequest (the cross-browser one) first to see if itâ€™s available before instantiating the ActiveX control, instead of the other way around. In addition to the reasons that Brent and Tim discovered, Iâ€™ve seen a bunch of code that creates the&nbsp;XMLHTTPRequest object, uses it for a request, and then throws it away. &nbsp;Obviously, this is a lot less performant than keeping the object around for multiple requests. &nbsp;The native object&#8217;s lifetime can be as long as that of the page. So you can reuse it like this: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var&nbsp; o = new XMLHttpRequestObject()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.open(â€œGETâ€, â€œdata1.xmlâ€,&nbsp; TRUE);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.onreadystatechange = foo();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.send();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; â€¦â€¦.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.open(â€œGETâ€, â€œdata2.xmlâ€,&nbsp; TRUE);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.onreadystatechange=bar();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.send(); Xmlhttp.open has a â€œresetâ€ semantic so the second open() call on the same object will abort the previous connection, disconnect previous event handler, and reset the object. There&#8217;s also a handy tool by Julien Couvreur for debugging XHTMLHTTPRequest calls&nbsp;for IE, or you can use Fiddler. -Chris  Published Thursday, June 08, 2006 3:30 PM by ieblog Filed Under: Tips and Tricks, Developers [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dee&#8217;s-Planet! &#187; Ajax on IE 7: Check native first</title>
		<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/comment-page-1/#comment-6520</link>
		<dc:creator>Dee&#8217;s-Planet! &#187; Ajax on IE 7: Check native first</dc:creator>
		<pubDate>Thu, 08 Jun 2006 11:46:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/#comment-6520</guid>
		<description>[...] Well, apart from being pretty verbose, in the world of IE7 we should be invoking XMLHttpRequest() first and having the ActiveX control done only if window.XMLHttpRequest isn&#8217;t around to play.     &#160; &#160; &#160; &#160; /*@cc_on &#160; &#160; &#160; &#160; @if (@_jscript_version&gt;= 5) &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; try { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; xmlhttp = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; } catch (e) { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; try { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; xmlhttp = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);  &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; } catch (E) { &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; xmlhttp = false; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; } &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; } &#160; &#160; &#160; &#160; @else &#160; &#160; &#160; &#160; xmlhttp = false; &#160; &#160; &#160; &#160; @end @*/ &#160; &#160; &#160; &#160; if &#40;!xmlhttp &amp;&amp; typeof XMLHttpRequest != &#8220;undefined&#8221;&#41; &#123; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; try &#123; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; xmlhttp = new XMLHttpRequest&#40;&#41;; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#125; catch &#40;e&#41; &#123; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; xmlhttp = false; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#125; &#160; &#160; &#160; &#160; &#125; &#160; &#160; &#160; &#160; return xmlhttp; &#160; [...]</description>
		<content:encoded><![CDATA[<p>[...] Well, apart from being pretty verbose, in the world of IE7 we should be invoking XMLHttpRequest() first and having the ActiveX control done only if window.XMLHttpRequest isn&#8217;t around to play.     &nbsp; &nbsp; &nbsp; &nbsp; /*@cc_on &nbsp; &nbsp; &nbsp; &nbsp; @if (@_jscript_version&gt;= 5) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } catch (e) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } catch (E) { &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = false; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } &nbsp; &nbsp; &nbsp; &nbsp; @else &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = false; &nbsp; &nbsp; &nbsp; &nbsp; @end @*/ &nbsp; &nbsp; &nbsp; &nbsp; if &#40;!xmlhttp &amp;&amp; typeof XMLHttpRequest != &#8220;undefined&#8221;&#41; &#123; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try &#123; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = new XMLHttpRequest&#40;&#41;; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#125; catch &#40;e&#41; &#123; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlhttp = false; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#125; &nbsp; &nbsp; &nbsp; &nbsp; &#125; &nbsp; &nbsp; &nbsp; &nbsp; return xmlhttp; &nbsp; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ajaxian &#187; Ajax on IE 7: Check native first</title>
		<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/comment-page-1/#comment-6434</link>
		<dc:creator>Ajaxian &#187; Ajax on IE 7: Check native first</dc:creator>
		<pubDate>Tue, 06 Jun 2006 14:56:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/#comment-6434</guid>
		<description>[...] and what is wrong with this? Well, apart from being pretty verbose, in the world of IE7 we should be invoking XMLHttpRequest() first and having the ActiveX control done only if window.XMLHttpRequest isn&#039;t around to play. [...]</description>
		<content:encoded><![CDATA[<p>[...] and what is wrong with this? Well, apart from being pretty verbose, in the world of IE7 we should be invoking XMLHttpRequest() first and having the ActiveX control done only if window.XMLHttpRequest isn&#8217;t around to play. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: IEBlog</title>
		<link>http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/comment-page-1/#comment-6400</link>
		<dc:creator>IEBlog</dc:creator>
		<pubDate>Mon, 05 Jun 2006 21:25:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.ashleyit.com/blogs/brentashley/2006/06/05/ie7-make-sure-you-invoke-native-xmlhttprequest-object/#comment-6400</guid>
		<description>&lt;strong&gt;AJAX Experience &amp; Tools&lt;/strong&gt;

Hi there!&#160;&#160; My name is Laurel Reitman and Iâ€™m a Lead Program Manager on the Internet Explorer...</description>
		<content:encoded><![CDATA[<p><strong>AJAX Experience &amp; Tools</strong></p>
<p>Hi there!&nbsp;&nbsp; My name is Laurel Reitman and Iâ€™m a Lead Program Manager on the Internet Explorer&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

