<?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: Is Your JavaScript Library Standards Compliant?</title>
	<atom:link href="http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/</link>
	<description>News, opinion, and fresh thinking for web developers and designers. The official podcast of sitepoint.com.</description>
	<lastBuildDate>Sat, 07 Nov 2009 23:35:20 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: 鱼排</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-802986</link>
		<dc:creator>鱼排</dc:creator>
		<pubDate>Fri, 03 Oct 2008 13:28:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-802986</guid>
		<description>Can you tell how to highlight the code?

You can find me &lt;a href=&quot;http://blog.fin9.com&quot; rel=&quot;nofollow&quot;&gt;here.&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Can you tell how to highlight the code?</p>
<p>You can find me <a href="http://blog.fin9.com" rel="nofollow">here.</a></p>]]></content:encoded>
	</item>
	<item>
		<title>By: pd</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-756873</link>
		<dc:creator>pd</dc:creator>
		<pubDate>Mon, 07 Jul 2008 01:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-756873</guid>
		<description>if JS library authors want to support standards &lt;strong&gt;and then some&lt;/strong&gt;, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.

There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). 

We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is &lt;code&gt;border-radius&lt;/code&gt;? Where is &lt;code&gt;  support&lt;/code&gt;?</description>
		<content:encoded><![CDATA[<p>if JS library authors want to support standards <strong>and then some</strong>, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.</p>
<p>There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). </p>
<p>We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is <code>border-radius</code>? Where is <code>  support</code>?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-756871</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Mon, 07 Jul 2008 01:36:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-756871</guid>
		<description>if JS library authors want to support standards &lt;strong&gt;and then some&lt;/strong&gt;, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.

There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). 

We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is &lt;code&gt;border-radius&lt;/code&gt;? Where is &lt;code&gt;  support&lt;/code&gt;?</description>
		<content:encoded><![CDATA[<p>if JS library authors want to support standards <strong>and then some</strong>, I have no problem with that. If this leaves them with some headaches about compatibility in the future, so be it, I thank them for taking on the hard work required to give us features that pathetic browser vendors will not until dead slow W3C jokers finish dragging their knuckles.</p>
<p>There is one problem with the web at the moment and one problem only: the dysfunctional behaviour between browser vendors and standards writers (and the fact that most of the time they are one in the same). </p>
<p>We need to get the EU to thump Microsoft a lot harder. Compatibility through turning on a true standards mode by default is great, but what about getting up to speed with standards support? Where is <code>border-radius</code>? Where is <code>  support</code>?</p>]]></content:encoded>
	</item>
	<item>
		<title>By: raymond</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-721199</link>
		<dc:creator>raymond</dc:creator>
		<pubDate>Tue, 13 May 2008 01:23:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-721199</guid>
		<description>Hi,

IMO the libraries take make the best of both worlds. For extended css selectors javascript will be used for standard css selectors the new api can be used.

So either way it&#039;s a win-win.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>IMO the libraries take make the best of both worlds. For extended css selectors javascript will be used for standard css selectors the new api can be used.</p>
<p>So either way it&#8217;s a win-win.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: solidhex</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-721128</link>
		<dc:creator>solidhex</dc:creator>
		<pubDate>Mon, 12 May 2008 22:15:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-721128</guid>
		<description>@rimmer33

In jQuery you don&#039;t even need the each, could just do
&lt;code&gt;$(&#039;a[rel~=external]&#039;).click(function(e){
		open(this.href);
		e.preventDefault();
	});
&lt;/code&gt;

:)</description>
		<content:encoded><![CDATA[<p>@rimmer33</p>
<p>In jQuery you don&#8217;t even need the each, could just do<br />
<code>$('a[rel~=external]').click(function(e){
		open(this.href);
		e.preventDefault();
	});
</code></p>
<p>:)</p>]]></content:encoded>
	</item>
	<item>
		<title>By: rimmer33</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720789</link>
		<dc:creator>rimmer33</dc:creator>
		<pubDate>Mon, 12 May 2008 07:56:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720789</guid>
		<description>First jQuery example is kinda lame :) Nobody in jQuery world would do so. We do &lt;code&gt;$(&#039;our selector&#039;).each(function(){here goes our stuff for each element})&lt;/code&gt; or even more simple if it is all about to delegate an event on each element.

And about selectors: if JavaScript was emerged to browsers only for sake of doing what ony those particular browsers can do, there wouldn&#039;t be so much hype about that. JavaScript &lt;em&gt;extends&lt;/em&gt; browser capabilities, nothing less. Why should we care if IE supports CSS3 selectors API, if we use a selected cross-browser JS library. It was written to extend the possibilities, not to wrap them in yet another layer. So, I use what I use, take benefit of it&#039;s powers and don&#039;t care if it is standard in any part. It just works. It&#039;s a job of library author to follow standards in his code, not mine, I follow standards only in my part. &lt;em&gt;Separation&lt;/em&gt; that is. Good practice, I think.</description>
		<content:encoded><![CDATA[<p>First jQuery example is kinda lame :) Nobody in jQuery world would do so. We do <code>$('our selector').each(function(){here goes our stuff for each element})</code> or even more simple if it is all about to delegate an event on each element.</p>
<p>And about selectors: if JavaScript was emerged to browsers only for sake of doing what ony those particular browsers can do, there wouldn&#8217;t be so much hype about that. JavaScript <em>extends</em> browser capabilities, nothing less. Why should we care if IE supports CSS3 selectors API, if we use a selected cross-browser JS library. It was written to extend the possibilities, not to wrap them in yet another layer. So, I use what I use, take benefit of it&#8217;s powers and don&#8217;t care if it is standard in any part. It just works. It&#8217;s a job of library author to follow standards in his code, not mine, I follow standards only in my part. <em>Separation</em> that is. Good practice, I think.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: anon</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720757</link>
		<dc:creator>anon</dc:creator>
		<pubDate>Mon, 12 May 2008 05:50:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720757</guid>
		<description>@asp_funda: your info. about dojo is far outdated.  While your comments may have been true for Dojo 0.4, more recent versions of Dojo are extremely competitive in size and performance with Prototype and jQuery, and outperform most toolkits it the selectors SlickSpeed tests.  It seems a bit odd to complain about incorrect info. with incorrect info.  The Dojo of today is fast... if you don&#039;t believe me, check it out.

What Alex was saying is that by only supporting valid selectors, it&#039;s a lot easier to flip the switch from custom to native selector engines, without having to fork based on each selector, which helps keep code lean and concise.  But complaining about Alex&#039;s explanation for why Dojo chooses to do this, because of the way the author created this story is a bit unfair to Alex.  He was simply explaining why Dojo took this route (to make it easier to support the coming native engines).</description>
		<content:encoded><![CDATA[<p>@asp_funda: your info. about dojo is far outdated.  While your comments may have been true for Dojo 0.4, more recent versions of Dojo are extremely competitive in size and performance with Prototype and jQuery, and outperform most toolkits it the selectors SlickSpeed tests.  It seems a bit odd to complain about incorrect info. with incorrect info.  The Dojo of today is fast&#8230; if you don&#8217;t believe me, check it out.</p>
<p>What Alex was saying is that by only supporting valid selectors, it&#8217;s a lot easier to flip the switch from custom to native selector engines, without having to fork based on each selector, which helps keep code lean and concise.  But complaining about Alex&#8217;s explanation for why Dojo chooses to do this, because of the way the author created this story is a bit unfair to Alex.  He was simply explaining why Dojo took this route (to make it easier to support the coming native engines).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Yank</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720518</link>
		<dc:creator>Kevin Yank</dc:creator>
		<pubDate>Sun, 11 May 2008 20:33:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720518</guid>
		<description>kangax,

&lt;blockquote&gt;1) I don&#039;t understand the promotion of using for/in for array enumeration.&lt;/blockquote&gt;

You’re absolutely right, and I’ve amended the code to use &lt;code&gt;for&lt;/code&gt; loops instead.

&lt;blockquote&gt;2) Redeclaring variables in each iteration is quite redundant.&lt;/blockquote&gt;

This causes no overhead, and keeps the code tidy.

&lt;blockquote&gt;3) &lt;code&gt;href != null&lt;/code&gt; is redundant as well.&lt;/blockquote&gt;

Not so. In Internet Explorer, an &lt;code&gt;&lt;a name=&quot;…&quot;&gt;&lt;/code&gt; tag’s &lt;code&gt;href&lt;/code&gt; property is &lt;code&gt;undefined&lt;/code&gt;, while all other browsers return an empty string. A &lt;code&gt;typeof&lt;/code&gt; check is therefore inadequate.

&lt;blockquote&gt;4) &quot;[href]&quot; selector matches empty attributes, so there&#039;s no need to test for &lt;code&gt;length &gt; 0&lt;/code&gt;&lt;/blockquote&gt;

I don’t know what you mean here. The test for &lt;code&gt;href.length &gt; 0&lt;/code&gt; doesn’t appear in the same example as the &lt;code&gt;[href]&lt;/code&gt; selector.

&lt;blockquote&gt;4) &lt;code&gt;rel != null &amp;&amp; /(^&#124; )external( &#124;$)/.test(rel)&lt;/code&gt; could be replaced with &lt;code&gt;/external/.test(rel)&lt;/code&gt; as &quot;test&quot; works just fine with any falsy values.&lt;/blockquote&gt;

The &lt;code&gt;rel&lt;/code&gt; attribute is a space-separated list of values. Thus the need for the more complicated regular expression.</description>
		<content:encoded><![CDATA[<p>kangax,</p>
<blockquote><p>1) I don&#8217;t understand the promotion of using for/in for array enumeration.</p></blockquote>
<p>You’re absolutely right, and I’ve amended the code to use <code>for</code> loops instead.</p>
<blockquote><p>2) Redeclaring variables in each iteration is quite redundant.</p></blockquote>
<p>This causes no overhead, and keeps the code tidy.</p>
<blockquote><p>3) <code>href != null</code> is redundant as well.</p></blockquote>
<p>Not so. In Internet Explorer, an <code>&lt;a name="…"&gt;</code> tag’s <code>href</code> property is <code>undefined</code>, while all other browsers return an empty string. A <code>typeof</code> check is therefore inadequate.</p>
<blockquote><p>4) &#8220;[href]&#8221; selector matches empty attributes, so there&#8217;s no need to test for <code>length &gt; 0</code></p></blockquote>
<p>I don’t know what you mean here. The test for <code>href.length &gt; 0</code> doesn’t appear in the same example as the <code>[href]</code> selector.</p>
<blockquote><p>4) <code>rel != null &amp;&amp; /(^| )external( |$)/.test(rel)</code> could be replaced with <code>/external/.test(rel)</code> as &#8220;test&#8221; works just fine with any falsy values.</p></blockquote>
<p>The <code>rel</code> attribute is a space-separated list of values. Thus the need for the more complicated regular expression.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: mattymcg</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-720267</link>
		<dc:creator>mattymcg</dc:creator>
		<pubDate>Sun, 11 May 2008 11:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-720267</guid>
		<description>Harald wrote:

&lt;blockquote&gt;Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read &lt;a href=&quot;http://streetteam.webstandards.org/goodbooks/&quot; rel=&quot;nofollow&quot;&gt;better books&lt;/a&gt; about DOM Scripting.&lt;/blockquote&gt;

I have to laugh at this comment. Harald you do actually realise that Kevin WROTE &lt;a href=&quot;http://www.sitepoint.com/books/javascript1/&quot; rel=&quot;nofollow&quot;&gt;one of the books on that list&lt;/a&gt;? :-D</description>
		<content:encoded><![CDATA[<p>Harald wrote:</p>
<blockquote><p>Wow, the worst post about JavaScript I saw in a long time. I use MooTools, I love JavaScript code, but what you wrote here is blasphemy. Its not only bad code but bad advices. Read <a href="http://streetteam.webstandards.org/goodbooks/" rel="nofollow">better books</a> about DOM Scripting.</p></blockquote>
<p>I have to laugh at this comment. Harald you do actually realise that Kevin WROTE <a href="http://www.sitepoint.com/books/javascript1/" rel="nofollow">one of the books on that list</a>? :-D</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Sorccu</title>
		<link>http://www.sitepoint.com/blogs/2008/05/09/is-your-javascript-library-standards-compliant/comment-page-1/#comment-719690</link>
		<dc:creator>Sorccu</dc:creator>
		<pubDate>Sat, 10 May 2008 13:28:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/?p=2475#comment-719690</guid>
		<description>solidhex:

I was just pointing out how things are. for .. in does not work the way it&#039;s been used in the post. Clearly the author didn&#039;t even bother testing anything. I find it most unfortunate that SitePoint&#039;s once top-quality blogs have become like this.</description>
		<content:encoded><![CDATA[<p>solidhex:</p>
<p>I was just pointing out how things are. for .. in does not work the way it&#8217;s been used in the post. Clearly the author didn&#8217;t even bother testing anything. I find it most unfortunate that SitePoint&#8217;s once top-quality blogs have become like this.</p>]]></content:encoded>
	</item>
</channel>
</rss>
