<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the Fresh! &#187; flXHR</title>
	<atom:link href="http://www.flensed.com/fresh/category/flensed/flxhr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flensed.com/fresh</link>
	<description>the latest from flensed</description>
	<lastBuildDate>Tue, 22 Sep 2009 21:35:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Improved event support for flXHRproxy plugins for jQuery, Dojo, Prototype, and Mootools!</title>
		<link>http://www.flensed.com/fresh/2009/07/improved-event-support-for-flxhrproxy-plugins-for-jquery-dojo-prototype-and-mootools/</link>
		<comments>http://www.flensed.com/fresh/2009/07/improved-event-support-for-flxhrproxy-plugins-for-jquery-dojo-prototype-and-mootools/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 00:49:51 +0000</pubDate>
		<dc:creator>getify</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[flXHR]]></category>
		<category><![CDATA[flensed]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[flXHRproxy]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.flensed.com/fresh/?p=160</guid>
		<description><![CDATA[Thanks to Zohaib (MaXpert), flXHR now has a flXHRproxy plugin for Mootools! If you&#8217;re using Mootools and doing cross-domain Ajax, flXHRproxy is your new best friend!
Also, inspired by the code we worked out for the Mootools plugin, I have released updates to the jQuery plugin, Dojo plugin, and the Prototype plugin. These three plugins now [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to <a href="http://maxpert.tumblr.com/post/133630525/mootools-cross-domain-ajax-requests">Zohaib (MaXpert)</a>, flXHR now has a <a href="http://flxhr.flensed.com/mootools.php">flXHRproxy plugin for Mootools</a>! If you&#8217;re using Mootools and doing cross-domain Ajax, flXHRproxy is your new best friend!</p>
<p>Also, inspired by the code we worked out for the Mootools plugin, I have released updates to the <a href="http://flxhr.flensed.com/jquery.php">jQuery plugin</a>, <a href="http://flxhr.flensed.com/dojo.php">Dojo plugin</a>, and the <a href="http://flxhr.flensed.com/prototype.php">Prototype plugin</a>. These three plugins now play nicely with each respective framework&#8217;s built in error mechanism for normal Ajax calls. </p>
<p>Prior to this release, error handling was only possible by manually setting the &#8220;onerror&#8221; property in the flXHR instance configuration properties. This same functionality is still supported. But now the recommended approach is to specify your error callbacks directly in your Ajax/Xhr calls as you normally would. <b>Note:</b> Do only one or the other, not both, to avoid duplicate callback execution in some circumstances.</p>
<p>Now that flXHRproxy is more tightly integrated with each framework&#8217;s event mechanism, the ease with which you can make cross-domain Ajax calls just keeps getting better and better! Really, what excuse do you still have for not using flXHR for your next cross-domain Ajax call?</p>
<p>One last note: the jQuery update also includes one additional change. The &#8220;success&#8221; callback function signature is now extended to include a third parameter, which is set to the flXHR instance (XHR) that generated the call/response. This makes it much easier to determine which specific Ajax call the response comes from.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flensed.com/fresh/2009/07/improved-event-support-for-flxhrproxy-plugins-for-jquery-dojo-prototype-and-mootools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flXHR gets some Prototype love, cross-domain Ajax wins!</title>
		<link>http://www.flensed.com/fresh/2009/05/flxhr-prototype-love-cross-domain-ajax/</link>
		<comments>http://www.flensed.com/fresh/2009/05/flxhr-prototype-love-cross-domain-ajax/#comments</comments>
		<pubDate>Fri, 22 May 2009 14:41:04 +0000</pubDate>
		<dc:creator>getify</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[flXHR]]></category>
		<category><![CDATA[flensed]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cross-domain Ajax]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://www.flensed.com/fresh/?p=128</guid>
		<description><![CDATA[In the wake of the jQuery flXHRproxy and Dojo flXHRproxy plugins recently released, Prototype was unfortunately left out of having a good solid plugin for flXHR&#8230; until now! 
Austin resident Prototype guru Andrew Dupont recently wrote an initial version of the plugin, which I then modified and tested, and we now have a great plugin [...]]]></description>
			<content:encoded><![CDATA[<p>In the wake of the <a href="http://flxhr.flensed.com/jquery.php">jQuery flXHRproxy</a> and <a href="http://flxhr.flensed.com/dojo.php">Dojo flXHRproxy</a> plugins recently released, <a href="http://prototypejs.org">Prototype</a> was unfortunately left out of having a good solid plugin for flXHR&#8230; until now! </p>
<p>Austin resident <a href="http://andrewdupont.net/">Prototype guru Andrew Dupont</a> recently wrote an initial version of the plugin, which I then modified and tested, and we now have a great <a href="http://flxhr.flensed.com/prototype.php">plugin for Prototype to support flXHR</a> in the same way as the other frameworks.</p>
<p>Just like with the other framework plugin versions, you simply call &#8216;registerOptions(&#8230;)&#8217; to register a URL (or partial URL) destination target and a set of flXHR options to be used for that location. Then, when you later make various Ajax calls, Prototype will internally figure out if you are calling to a location that is registered and will use flXHR with the options you specified.</p>
<p>There is simply no other way to get easier cross-domain Ajax with Prototype than with flXHR and flXHRproxy. Take a look at <a href="http://flxhr.flensed.com/documentation.php#prototype">flXHRproxy documentation</a> or give the <a href="http://flxhr.flensed.com/demo.php#demo7b">Prototype+flXHR demo</a> a whirl.</p>
<p>Typical page usage might look like this:<br />
<code><br />
Ajax.flXHRproxy.registerOptions('http://www.mydomain.com/',{xmlResponseText:false...});<br />
Ajax.flXHRproxy.registerOptions('http://rss.mydomain.com/',{xmlResponseText:true...});<br />
...<br />
Ajax.Request('http://www.mydomain.com/something.html',{...});<br />
...<br />
Ajax.Request('http://rss.mydomain.com/feed.html',{...});<br />
</code></p>
<p>Enjoy the new world of possibilities and fun that Prototype and flXHRproxy now gives you for doing easy cross-domain Ajax!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flensed.com/fresh/2009/05/flxhr-prototype-love-cross-domain-ajax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>flXHR+Dojo=Cross Domain Ajax Fun!</title>
		<link>http://www.flensed.com/fresh/2009/05/flxhr_dojo_cross_domain_ajax_fun/</link>
		<comments>http://www.flensed.com/fresh/2009/05/flxhr_dojo_cross_domain_ajax_fun/#comments</comments>
		<pubDate>Thu, 14 May 2009 13:15:50 +0000</pubDate>
		<dc:creator>getify</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[flXHR]]></category>
		<category><![CDATA[flensed]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cross-domain Ajax]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.flensed.com/fresh/?p=126</guid>
		<description><![CDATA[Back in march, I announced the jQuery plugin for flXHR, simply the best way to do cross-domain Ajax with jQuery. It has enjoyed huge success in traffic/downloading since, and that proves that there are lots of people out there who are doing cross-domain Ajax with frameworks like jQuery and Dojo, and that people are craving [...]]]></description>
			<content:encoded><![CDATA[<p>Back in march, I <a href="http://www.flensed.com/fresh/2009/03/flxhr_jquery_plugin_and_patches/">announced</a> the <a href="http://flxhr.flensed.com/jquery.php">jQuery plugin for flXHR</a>, simply the best way to do cross-domain Ajax with jQuery. It has enjoyed huge success in traffic/downloading since, and that proves that there are lots of people out there who are doing cross-domain Ajax with frameworks like jQuery and Dojo, and that people are craving for better, easier and more flexible ways of doing so. <a href="http://flxhr.flensed.com/">flXHR</a> is the answer to your cross-domain Ajax woes.</p>
<p>Building on the success from the jQuery plugin, I&#8217;m now pleased to announce that I&#8217;ve released a <a href="http://flxhr.flensed.com/dojo.php">Dojo plugin for jQuery</a> which is nearly identical in functionality. Basically, all you have to do is load the &#8216;flXHRproxy&#8217; Dojo plugin, and then call &#8216;registerOptions(&#8230;)&#8217; to register a URL (or partial URL) destination target and a set of flXHR options to be used for that location. Then, when you later make various Ajax calls, Dojo will internally figure out if you are calling to a location that is registered and will use flXHR (or any other transports you register!) with the options you specified.</p>
<p>If you use Dojo, and you do cross-domain Ajax calls, I urge you to consider flXHR and flXHRproxy. Take a look at <a href="http://flxhr.flensed.com/documentation.php#dojo">flXHRproxy documentation</a> or give the <a href="http://flxhr.flensed.com/demo.php#demo7a">Dojo+flXHR demo</a> a whirl.</p>
<p>Typical page usage might look like this:<br />
<code><br />
dojox.io.flXHRproxy.registerOptions('http://www.mydomain.com/',{xmlResponseText:false...});<br />
dojox.io.flXHRproxy.registerOptions('http://rss.mydomain.com/',{xmlResponseText:true...});<br />
...<br />
dojo.xhrGet({url:'http://www.mydomain.com/something.html'...});<br />
...<br />
dojo.xhrGet({url:'http://rss.mydomain.com/feed.html'...});<br />
</code></p>
<p>This XHR registry concept is very powerful, as it allows you to have multiple different types of Ajax calls and transports and configurations for different types of data that you are mashing up in a single page. It takes all the guess work out of configuring your code to intelligently use the right communication method and options as needed for each Ajax call. It just simply could not get any easier to do cross-domain Ajax calls with Dojo now.</p>
<p>Enjoy the new world of possibilities and fun that Dojo+flXHR now gives you for doing easy cross-domain Ajax!</p>
<p>PS. Teaser: Coming soon, flXHR+YQL = cross-domain Ajax to literally any site on the internet! How cool is that!?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flensed.com/fresh/2009/05/flxhr_dojo_cross_domain_ajax_fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: Package flXHR js files</title>
		<link>http://www.flensed.com/fresh/2009/03/howto-package-flxhr-js-files/</link>
		<comments>http://www.flensed.com/fresh/2009/03/howto-package-flxhr-js-files/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 13:52:47 +0000</pubDate>
		<dc:creator>getify</dc:creator>
				<category><![CDATA[flXHR]]></category>
		<category><![CDATA[flensed]]></category>

		<guid isPermaLink="false">http://www.flensed.com/fresh/?p=109</guid>
		<description><![CDATA[Another quickie to detail a little gotcha that I just ran into on this site, actually. I use flXHR on this site to make requests to longurlplease to lengthen/reverse shortened URLs (mostly in the recent tweets feed). I use the flXHRproxy jQuery plugin with jQuery code to accomplish that.
I made some recent optimization changes to [...]]]></description>
			<content:encoded><![CDATA[<p>Another quickie to detail a little gotcha that I just ran into on this site, actually. I use flXHR on this site to make requests to <a href="http://longurlplease.com">longurlplease</a> to lengthen/reverse shortened URLs (mostly in the recent tweets feed). I use the <a href="http://flxhr.flensed.com/jquery.php">flXHRproxy jQuery plugin</a> with jQuery code to accomplish that.</p>
<p>I made some recent optimization changes to the site according to suggestions from <a href="http://developer.yahoo.com/yslow/">YSlow</a>. (side note: I went from a 27-F grade to a 62-D grade with some simple CSS, HTML, and JS changes &#8212; not bad, huh?). Anyway, one of the changes I made regarding Javascript was to package all 4 flXHR related JS files into one file (flXHR.js, checkplayer.js, flensed.js, and swfobject.js), to reduce the number of HTTP requests on page load.</p>
<p>After rolling out those changes and basking in the glory of my optimization improvements, I realized that part of my code logic, the part about reversing URLs, wasn&#8217;t working anymore, even though all the rest of my jQuery code logic seemed to be working fine. After some clumsy debugging, I found out it was because flXHR was never fully loading (actually, all the JS was there, obviously, but the other assets, like flXHR.swf) were not loading.</p>
<p>When this happens, it&#8217;s USUALLY because the code is unable to auto-detect the correct base-path to load additional assets from. The code is able to do the auto-detect by looking for itself (that is, its corresponding DOM script tag) and inspecting the path of the file reference. But the logic only works if the file is the same name as what it&#8217;s hard-coded to look for (&#8220;flXHR.js&#8221;). </p>
<p>In my haste to package up the files, I named the new file &#8220;flXHR-packaged.js&#8221;. Thus, the base-path detection went lame. Oops. Luckily, there&#8217;s a simple fix, and doesn&#8217;t require any hacking to the files at all (probably the easiest temptation &#8212; but you should avoid that IMHO).</p>
<p>All you have to do is include a setting to manually specify the base-path for flXHR/flensed to use, and all&#8217;s good! Look:</p>
<p>&lt;script>var flensed={base_path:&#8221;/path/to/flXHR.files/&#8221;};&lt;/script></p>
<p>Include that right before your script tag that includes flXHR.js (or whatever you are calling it), and you should be fine.</p>
<p><b>Note:</b> Make sure you use regular double-quote characters instead of the funny stylized &#8221; that WP insists on using. <img src='http://flensed.2static.it/fresh/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Happy flXHR&#8217;ing. <img src='http://www.flensed.com/fresh/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.flensed.com/fresh/2009/03/howto-package-flxhr-js-files/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>flXHR and chained Ajax calls</title>
		<link>http://www.flensed.com/fresh/2009/03/flxhr-and-chained-ajax-calls/</link>
		<comments>http://www.flensed.com/fresh/2009/03/flxhr-and-chained-ajax-calls/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 23:41:33 +0000</pubDate>
		<dc:creator>getify</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[flXHR]]></category>
		<category><![CDATA[flensed]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.flensed.com/fresh/?p=102</guid>
		<description><![CDATA[So, this is just a quick post to share some information which was worked out recently in an email thread with a flXHR user. Because it&#8217;s probably a somewhat common pattern (albeit, mostly for more complex Ajax apps), I figured it would be helpful to share the information here, just in case anyone else runs [...]]]></description>
			<content:encoded><![CDATA[<p>So, this is just a quick post to share some information which was worked out recently in an email thread with a flXHR user. Because it&#8217;s probably a somewhat common pattern (albeit, mostly for more complex Ajax apps), I figured it would be helpful to share the information here, just in case anyone else runs up against similar issues.</p>
<p><a href="http://flxhr.flensed.com/documentation.php#constructor">flXHR has a feature called instancePooling</a>, which is very helpful for performance/efficiency improvement reasons, especially with pages that make multiple Ajax requests. The way it does this is to keep around instantiated references of flXHR in a &#8220;pool&#8221;, and when a new instantiation is requested, if an available instance in the pool is idle and ready (that is, it&#8217;s already been used and is in readyState = 4), then it will reuse that instance (and reconfigure it as necessary) instead of creating a whole new one.</p>
<p>There was <a href="http://flxhr.flensed.com/discuss/viewtopic.php?f=12&#038;t=58">a bug fixed in 1.0.3</a> regarding flXHR&#8217;s ability to fully reconfigure a reused instance. So, if you&#8217;ve tried that type of thing prior to upgrading to 1.0.3, you should upgrade to get the expected behavior.</p>
<p>Anyway, this feature is almost universally necessary when doing Ajax calls with frameworks like jQuery, Dojo, Prototype, etc, because these frameworks tend to &#8220;throw away&#8221; XHR instances after single use, but with flXHR, it&#8217;s better to keep them around to avoid the &#8220;penalty&#8221; of instantiation on subsequent requests. So, rather than try to modify the way the frameworks work, flXHR makes this transparent with the opt-in &#8220;instancePooling&#8221; configuration option. I would estimate in probably 99% of all Ajax applications, this is the option you would want to keep memory-usage and instantiation times down. Unless you specifically know better, I would recommend *always* using it.</p>
<p>Now, as the title of this post suggests, there is a common pattern for a lot of medium-to-high complexity Ajax apps where the author of a page may need to &#8220;chain&#8221; Ajax calls &#8212; that is, make one Ajax call, and then upon completion of the first one, make another Ajax call from the response handler of the first.</p>
<p>It is when you combine these two concepts that a devious little &#8220;issue&#8221; creeps in. I&#8217;ll try not to go into lots of gory detail here, but the bottom line is, if you make an Ajax call from a response handler of a previous Ajax call, and you have instancePooling turned on, a race condition exists with the way framework code works which will cause issues, most notably that the handler may not get properly called on your second &#8220;chained&#8221; request, even though the full response does get back to the browser.</p>
<p>Read on to find out the details and how to fix it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flensed.com/fresh/2009/03/flxhr-and-chained-ajax-calls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- This site's performance optimized by W3 Total Cache. Dramatically improve the speed and reliability of your blog!

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Content Delivery Network via flensed.2static.it

Served from: shade.ayame @ 2010-07-31 13:27:08 -->