<?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: Why inline CSS and JavaScript code is such a bad thing</title>
	<atom:link href="http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/feed/" rel="self" type="application/rss+xml" />
	<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/</link>
	<description>Web development and Internet trends</description>
	<lastBuildDate>Fri, 19 Mar 2010 15:16:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-614927</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Sun, 20 Dec 2009 13:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-614927</guid>
		<description>Sure,

All the members of the exceptional performance team at Yahoo! and Google are designers, thus not knowing technology? Yes, sounds very likely...</description>
		<content:encoded><![CDATA[<p>Sure,</p>
<p>All the members of the exceptional performance team at Yahoo! and Google are designers, thus not knowing technology? Yes, sounds very likely&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sure</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-614864</link>
		<dc:creator>Sure</dc:creator>
		<pubDate>Sat, 19 Dec 2009 20:17:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-614864</guid>
		<description>What is even more interesting is that 99% of those that think inline is bad are designers. They read it somewhere and did not understand the difference of 0.001 of a milisecond. With my background in actual programming I am , I am in a position to say that</description>
		<content:encoded><![CDATA[<p>What is even more interesting is that 99% of those that think inline is bad are designers. They read it somewhere and did not understand the difference of 0.001 of a milisecond. With my background in actual programming I am , I am in a position to say that</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-614769</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Sat, 19 Dec 2009 02:00:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-614769</guid>
		<description>Sure,

Interesting to hear that you believe you are in the position to completely discard the results of some of the best performance specialists in the world, working for Google, yahoo! etc.</description>
		<content:encoded><![CDATA[<p>Sure,</p>
<p>Interesting to hear that you believe you are in the position to completely discard the results of some of the best performance specialists in the world, working for Google, yahoo! etc.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sure</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-614762</link>
		<dc:creator>Sure</dc:creator>
		<pubDate>Sat, 19 Dec 2009 00:16:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-614762</guid>
		<description>HTML file size
    If you need it you need it ... you still load the .js or .css file. Fail, size is the same

Lack of caching
    LOL - there`s nothing more to say
Poor accessibility
    &quot;This means that it won’t work when JavaScript, for one reason or the other, isn’t available.&quot; - Javascript does not work when javascript is not available , good one, good and bright .... FAIL

Difficult code maintenance
    &quot;When it comes to making changes to the code, I’m sure every web developer would agree &quot;... That you search for the element in the page. Who uses 800 html pages anymore ? Seriously if you have 10 pages that display a menu and you do not include that menu as a template you`re just plain stupid. You don`t have to change 50 pages, you only have to change the page in which your element is located. And again ... FAIL.

FYI ooCSS is the way to go - all margins widths heights sizes should be inline (why ? because your size if often based on some calculations and differs from browser to browser - hacks are stupid)</description>
		<content:encoded><![CDATA[<p>HTML file size<br />
    If you need it you need it &#8230; you still load the .js or .css file. Fail, size is the same</p>
<p>Lack of caching<br />
    LOL &#8211; there`s nothing more to say<br />
Poor accessibility<br />
    &#8220;This means that it won’t work when JavaScript, for one reason or the other, isn’t available.&#8221; &#8211; Javascript does not work when javascript is not available , good one, good and bright &#8230;. FAIL</p>
<p>Difficult code maintenance<br />
    &#8220;When it comes to making changes to the code, I’m sure every web developer would agree &#8220;&#8230; That you search for the element in the page. Who uses 800 html pages anymore ? Seriously if you have 10 pages that display a menu and you do not include that menu as a template you`re just plain stupid. You don`t have to change 50 pages, you only have to change the page in which your element is located. And again &#8230; FAIL.</p>
<p>FYI ooCSS is the way to go &#8211; all margins widths heights sizes should be inline (why ? because your size if often based on some calculations and differs from browser to browser &#8211; hacks are stupid)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Le code CSS et Javascript inline saimal -- css 4 design</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-613045</link>
		<dc:creator>Le code CSS et Javascript inline saimal -- css 4 design</dc:creator>
		<pubDate>Sat, 05 Dec 2009 07:01:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-613045</guid>
		<description>[...] article est une &#171;&#160;craduction&#160;&#187;(1) de l&#8217;excellent article Why Inline CSS And JavaScript Code Is Such A Bad Thing dans lequel Robert Nyman explique pourquoi il est bon de séparer la structure HTML, la [...]</description>
		<content:encoded><![CDATA[<p>[...] article est une &laquo;&nbsp;craduction&nbsp;&raquo;(1) de l&#8217;excellent article Why Inline CSS And JavaScript Code Is Such A Bad Thing dans lequel Robert Nyman explique pourquoi il est bon de séparer la structure HTML, la [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Le code CSS et Javascript au milieu du HTML c&#8217;est pas bien ! &#187; Javascript &#38; Web Design - Tous les jours le meilleur des ressources Javascript pour intégrateurs web front-end (avec parfois un soupçon de PHP)</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-610768</link>
		<dc:creator>Le code CSS et Javascript au milieu du HTML c&#8217;est pas bien ! &#187; Javascript &#38; Web Design - Tous les jours le meilleur des ressources Javascript pour intégrateurs web front-end (avec parfois un soupçon de PHP)</dc:creator>
		<pubDate>Thu, 19 Nov 2009 09:40:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-610768</guid>
		<description>[...] article est une &#171;&#160;craduction&#160;&#187;(1) de l&#8217;excellent article Why Inline CSS And JavaScript Code Is Such A Bad Thing dans lequel Robert Nyman explique pourquoi il est bon de séparer la structure HTML, la [...]</description>
		<content:encoded><![CDATA[<p>[...] article est une &laquo;&nbsp;craduction&nbsp;&raquo;(1) de l&#8217;excellent article Why Inline CSS And JavaScript Code Is Such A Bad Thing dans lequel Robert Nyman explique pourquoi il est bon de séparer la structure HTML, la [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600701</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 08 Sep 2009 18:08:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600701</guid>
		<description>Kevin,

I&#039;m happy for your sake that you have fallen in love with XSLT - most of the world have moved on to other approaches; nothing wrong with it, but I can&#039;t really see why it would be the ultimate solution to any factor in good web development.

&lt;blockquote&gt;
	Have you actually studied this or is this just a feeling you have?
&lt;/blockquote&gt;

Since you mentioned YSlow, are you familiar with the performance work Yahoo have been doing? Have you read their recommendation &lt;a href=&quot;http://developer.yahoo.com/performance/rules.html#external&quot; rel=&quot;nofollow&quot;&gt;Make JavaScript and CSS External&lt;/a&gt; (where anything inline really only could possibly apply to start pages of companies like Google, but given the reoccurring searches people do, not even there). What I write about in this blog post is common knowledge amongst web professionals all over the world.

Have you ever read about &lt;a href=&quot;http://onlinetools.org/articles/unobtrusivejavascript/&quot; rel=&quot;nofollow&quot;&gt;Unobtrusive Javascript&lt;/a&gt;? That web site and material about that is by Christian Heilmann, one of the world&#039;s leading authorities on web development, and high up within Yahoo.

About YSlow grade on this web site: if you had actually taken the time to look what HTTP requests, CSS and scripts that are affected, none of it stems from this web site - it&#039;s about code served from, amongst others, Google and Flickr, who have decided not to offer expire headers and minifying. And CDNs aren&#039;t even applicable unless for very very high traffic web sites.

According to Alexa, &lt;a href=&quot;http://alexa.com/siteinfo/robertnyman.com&quot; rel=&quot;nofollow&quot;&gt;99% of the world&#039;s web sites are slower than robertnyman.com&lt;/a&gt;, which I would say is a pretty good indication of the performance of this web site.

Overall, I like discussing these things, they&#039;re far from black and white, but I feel that your tone and approach has been disrespectful from the get-go. Therefore, I agree that we end this now, it will definitely not make anyone of us happier.</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>I&#8217;m happy for your sake that you have fallen in love with XSLT &#8211; most of the world have moved on to other approaches; nothing wrong with it, but I can&#8217;t really see why it would be the ultimate solution to any factor in good web development.</p>
<blockquote><p>
	Have you actually studied this or is this just a feeling you have?
</p></blockquote>
<p>Since you mentioned YSlow, are you familiar with the performance work Yahoo have been doing? Have you read their recommendation <a href="http://developer.yahoo.com/performance/rules.html#external" rel="nofollow">Make JavaScript and CSS External</a> (where anything inline really only could possibly apply to start pages of companies like Google, but given the reoccurring searches people do, not even there). What I write about in this blog post is common knowledge amongst web professionals all over the world.</p>
<p>Have you ever read about <a href="http://onlinetools.org/articles/unobtrusivejavascript/" rel="nofollow">Unobtrusive Javascript</a>? That web site and material about that is by Christian Heilmann, one of the world&#8217;s leading authorities on web development, and high up within Yahoo.</p>
<p>About YSlow grade on this web site: if you had actually taken the time to look what HTTP requests, CSS and scripts that are affected, none of it stems from this web site &#8211; it&#8217;s about code served from, amongst others, Google and Flickr, who have decided not to offer expire headers and minifying. And CDNs aren&#8217;t even applicable unless for very very high traffic web sites.</p>
<p>According to Alexa, <a href="http://alexa.com/siteinfo/robertnyman.com" rel="nofollow">99% of the world&#8217;s web sites are slower than robertnyman.com</a>, which I would say is a pretty good indication of the performance of this web site.</p>
<p>Overall, I like discussing these things, they&#8217;re far from black and white, but I feel that your tone and approach has been disrespectful from the get-go. Therefore, I agree that we end this now, it will definitely not make anyone of us happier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600688</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Tue, 08 Sep 2009 16:43:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600688</guid>
		<description>I clearly said that XSL can be done both in a browser and on the server. Which means I can deliver XSL to browser that supports it, and HTML to browsers that don&#039;t. This talk about different parsers is not germane. And while browser detection is often unreliable, that is overall mitigated by writing lean and testing the XSL so it is compatible almost always, even if sent with a false positive, so it is still not germane. Even on slow connections. And our own web sites often do not have any scripts, exactly so they are available to almost everyone, including ADA compliance. So I know how to make sure sites work for everyone.

Overall, I agree that user performance is important. 

However, the argument that HTML is the heavy part of downloading bandwidth with inline scripts is a tempest in a teapot. Have you actually studied this or is this just a feeling you have? Most of the bandwidth these days is in downloading script and css files, not in html content, even with inline scripts. 

I also just tested this page with YSlow. It got a &quot;Grade B&quot; including: Grade B Make fewer HTTP requests, Grade F on Use a Content Delivery Network. Grade C on Minify JavaScript and CSS. Seems like a lot of wasted bandwidth. How ironic.

Your argument is also not even germane about caches. You can turn off caching in a browser. I have mine to clear the cache on shutdown. So cache reliance is not guaranteed. And I have to reload your scripts again anyway tomorrow. Thus, you have saved me little unless I browse your site extensively today. Maybe I am not &quot;a normal user&quot;, but that is just the point, you can never encompass all user behaviors. 

I also find it a performance hit using the very scripts on this page showing me my &quot;comments&quot; as I type. As I type more and more there starts to be a lag between what I type (I am a very fast typist) on my keyboard and when it appears on the screen. I suppose you think it is smart to limit my bandwidth and not show me a &quot;preview&quot; page, but I find the developing lag very annoying. So I turned of scripts just to type here. Even more annoying there is not a &quot;page preview&quot; option for when I turn off scripts. 

And you missed my point about separation of content from context. It was about maintaining a single piece of code, one that does each task, in only one place, not two, as just good design. And no, mixing them the way you did is not needed. And exposed hooks should be generic in scripts, should be based on the type of element making the call, and else should not know or care any more about the context of that element. Hence one should never ever hard code an &quot;id&quot; value as a constant in a script. You only do so because of your desire to &quot;save bandwidth&quot; which really is a straw man leading you down a road of overall bad design.

Anyway, I will leave this as we just disagree.</description>
		<content:encoded><![CDATA[<p>I clearly said that XSL can be done both in a browser and on the server. Which means I can deliver XSL to browser that supports it, and HTML to browsers that don&#8217;t. This talk about different parsers is not germane. And while browser detection is often unreliable, that is overall mitigated by writing lean and testing the XSL so it is compatible almost always, even if sent with a false positive, so it is still not germane. Even on slow connections. And our own web sites often do not have any scripts, exactly so they are available to almost everyone, including ADA compliance. So I know how to make sure sites work for everyone.</p>
<p>Overall, I agree that user performance is important. </p>
<p>However, the argument that HTML is the heavy part of downloading bandwidth with inline scripts is a tempest in a teapot. Have you actually studied this or is this just a feeling you have? Most of the bandwidth these days is in downloading script and css files, not in html content, even with inline scripts. </p>
<p>I also just tested this page with YSlow. It got a &#8220;Grade B&#8221; including: Grade B Make fewer HTTP requests, Grade F on Use a Content Delivery Network. Grade C on Minify JavaScript and CSS. Seems like a lot of wasted bandwidth. How ironic.</p>
<p>Your argument is also not even germane about caches. You can turn off caching in a browser. I have mine to clear the cache on shutdown. So cache reliance is not guaranteed. And I have to reload your scripts again anyway tomorrow. Thus, you have saved me little unless I browse your site extensively today. Maybe I am not &#8220;a normal user&#8221;, but that is just the point, you can never encompass all user behaviors. </p>
<p>I also find it a performance hit using the very scripts on this page showing me my &#8220;comments&#8221; as I type. As I type more and more there starts to be a lag between what I type (I am a very fast typist) on my keyboard and when it appears on the screen. I suppose you think it is smart to limit my bandwidth and not show me a &#8220;preview&#8221; page, but I find the developing lag very annoying. So I turned of scripts just to type here. Even more annoying there is not a &#8220;page preview&#8221; option for when I turn off scripts. </p>
<p>And you missed my point about separation of content from context. It was about maintaining a single piece of code, one that does each task, in only one place, not two, as just good design. And no, mixing them the way you did is not needed. And exposed hooks should be generic in scripts, should be based on the type of element making the call, and else should not know or care any more about the context of that element. Hence one should never ever hard code an &#8220;id&#8221; value as a constant in a script. You only do so because of your desire to &#8220;save bandwidth&#8221; which really is a straw man leading you down a road of overall bad design.</p>
<p>Anyway, I will leave this as we just disagree.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600682</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 08 Sep 2009 15:21:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600682</guid>
		<description>Kevin,

Browser-side XSLT? Seriously? It&#039;s not a nice thing, performance-wise, and especially not when it comes to inconsistencies between web browsers and their parsers/implementations.

Hence why JSON has become so popular, for instance.

And of course it&#039;s a performance hit if you need to re-download inline styles and scripts for every page you visit in a web site, as opposed to having it stored in the user&#039;s web browser cache. If you transform it into the desired HTML via XLST on the server doesn&#039;t really have anything to do with it.

Then we have accessibility and SEO: you can&#039;t just depend on JavaScript and serving small portions (i.e. not complete pages) of code to everyone. For anyone with the capabilities, sure, that&#039;s called progressive enhancement, but you need to offer a version that works without that as well.

Not sure if I misunderstand about events, but if that&#039;s the case, why attach hundreds of events to each cell? I guess/hope you only have five actual event handlers, and that you let the events bubble up to them.

About a central location being &quot;defeated&quot;: as with all code when it comes to CSS and JavaScript, naturally you have hooks for you or anyone else to interact with it; things that might also be exposed via an API, for Firefox extensions etc.

I also think you misunderstand the central location idea: it&#039;s that ALL presentation code is in one single place and that ALL interaction code is in one single place.

Conclusively: if you love XSLT and your spreadsheet application, great. But for building public web sites, there are a lot more factors to consider.</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>Browser-side XSLT? Seriously? It&#8217;s not a nice thing, performance-wise, and especially not when it comes to inconsistencies between web browsers and their parsers/implementations.</p>
<p>Hence why JSON has become so popular, for instance.</p>
<p>And of course it&#8217;s a performance hit if you need to re-download inline styles and scripts for every page you visit in a web site, as opposed to having it stored in the user&#8217;s web browser cache. If you transform it into the desired HTML via XLST on the server doesn&#8217;t really have anything to do with it.</p>
<p>Then we have accessibility and SEO: you can&#8217;t just depend on JavaScript and serving small portions (i.e. not complete pages) of code to everyone. For anyone with the capabilities, sure, that&#8217;s called progressive enhancement, but you need to offer a version that works without that as well.</p>
<p>Not sure if I misunderstand about events, but if that&#8217;s the case, why attach hundreds of events to each cell? I guess/hope you only have five actual event handlers, and that you let the events bubble up to them.</p>
<p>About a central location being &#8220;defeated&#8221;: as with all code when it comes to CSS and JavaScript, naturally you have hooks for you or anyone else to interact with it; things that might also be exposed via an API, for Firefox extensions etc.</p>
<p>I also think you misunderstand the central location idea: it&#8217;s that ALL presentation code is in one single place and that ALL interaction code is in one single place.</p>
<p>Conclusively: if you love XSLT and your spreadsheet application, great. But for building public web sites, there are a lot more factors to consider.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600679</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Tue, 08 Sep 2009 14:58:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600679</guid>
		<description>Frist, if you use browser side XSL rendering browsers will cache XSL files, just like CSS. And after the first page loads, for Ecmascript enabled browsers, I can send tiny XML files via AJAX and render using the same stored XSL file. So there is a gain in performace.

Second, you can also process the exact same XSL file on the server and send only formated HTML, so there need be no browser rendering and thus no performance hit on the client. My code is reuseable with two different methods of delivery. 

Third, hundreds of dom attached events, not &quot;script events&quot;, because it is a spreadsheet program, with events per cell, and they are all delegated to about 5 main controlling functions.

Finally, in your example you have the &quot;id&quot; value &quot;get-news&quot; hard coded twice, in two different files (html and script files). Using XSL I can reference this value once in a database and build my XML content on the fly. My context (what the user sees) XSL file does not even know or care about &quot;id&quot; attributes. Thus one of your arguments to keep changes to a central location is defeated: you have it in two places. I have it in one.</description>
		<content:encoded><![CDATA[<p>Frist, if you use browser side XSL rendering browsers will cache XSL files, just like CSS. And after the first page loads, for Ecmascript enabled browsers, I can send tiny XML files via AJAX and render using the same stored XSL file. So there is a gain in performace.</p>
<p>Second, you can also process the exact same XSL file on the server and send only formated HTML, so there need be no browser rendering and thus no performance hit on the client. My code is reuseable with two different methods of delivery. </p>
<p>Third, hundreds of dom attached events, not &#8220;script events&#8221;, because it is a spreadsheet program, with events per cell, and they are all delegated to about 5 main controlling functions.</p>
<p>Finally, in your example you have the &#8220;id&#8221; value &#8220;get-news&#8221; hard coded twice, in two different files (html and script files). Using XSL I can reference this value once in a database and build my XML content on the fly. My context (what the user sees) XSL file does not even know or care about &#8220;id&#8221; attributes. Thus one of your arguments to keep changes to a central location is defeated: you have it in two places. I have it in one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600668</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 08 Sep 2009 13:14:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600668</guid>
		<description>Kevin,

How the content is generated - be it XSLT or any other technology - is irrelevant. What matters is what times time for the web browser to render, how content is cached locally between pages in a web site etc. That is how your end users will perceive the content and that is what really makes a difference.

And if you have hundred of events, something isn&#039;t coded properly. Look into event delegation instead, which is really the only correct way of handling events.</description>
		<content:encoded><![CDATA[<p>Kevin,</p>
<p>How the content is generated &#8211; be it XSLT or any other technology &#8211; is irrelevant. What matters is what times time for the web browser to render, how content is cached locally between pages in a web site etc. That is how your end users will perceive the content and that is what really makes a difference.</p>
<p>And if you have hundred of events, something isn&#8217;t coded properly. Look into event delegation instead, which is really the only correct way of handling events.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600667</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Tue, 08 Sep 2009 13:04:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600667</guid>
		<description>Take &quot;2&quot; with the formulas

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; &gt;

&lt;xsl:template match=&quot;/root&quot;&gt;
&lt;html&gt;
&lt;head&gt;&lt;/head&gt;
&lt;body bgcolor=&quot;#FFFFFF&quot;&gt;
  &lt;div id=&quot;container&quot;&gt;
     &lt;div id=&quot;navigation&quot;&gt;
        &lt;xsl:apply-templates select=&quot;links&quot; /&gt;
     &lt;/div&gt; 
  &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;/xsl:template&gt;

&lt;xsl:template match=&quot;links&quot;&gt;
 &lt;xsl:for-each select=&quot;link&quot;&gt;
   &lt;a&gt;
     &lt;xsl:for-each select=&quot;@*&quot;&gt;
       &lt;xsl:attribute name=&quot;{name()}&quot;&gt;
       &lt;xsl:value-of select=&quot;.&quot; /&gt;
          &lt;/xsl:attribute&gt;
       &lt;/xsl:for-each&gt;
    &lt;xsl:value-of select=&quot;caption&quot; /&gt;
  &lt;/a&gt;
 &lt;/xsl:for-each&gt;
&lt;/xsl:template&gt;

&lt;/xsl:stylesheet&gt;


&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&gt;
&lt;root&gt;
  &lt;links&gt;
    &lt;link id=&quot;get-news&quot; href=&quot;news-proper-url&quot; onclick=&quot;clickme&quot;&gt;&lt;caption&gt;See&lt;/caption&gt;&lt;/link&gt;
  &lt;/links&gt;
&lt;/root&gt;

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&gt;
&lt;root&gt;
  &lt;links&gt;
    &lt;link id=&quot;get-news&quot; href=&quot;another-url&quot;&gt;&lt;caption&gt;Vu&lt;/caption&gt;&lt;/link&gt;
  &lt;/links&gt;
&lt;/root&gt;

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&gt;
&lt;root&gt;
  &lt;links&gt;
    &lt;link id=&quot;get-news&quot; href=&quot;another-href&quot; onclick=&quot;another-clicker&quot;&gt;&lt;caption&gt;Sehen&lt;/caption&gt;&lt;/link&gt;
  &lt;/links&gt;
&lt;/root&gt;</description>
		<content:encoded><![CDATA[<p>Take &#8220;2&#8243; with the formulas</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;xsl:stylesheet version=&#8221;1.0&#8243; xmlns:xsl=&#8221;http://www.w3.org/1999/XSL/Transform&#8221; &gt;</p>
<p>&lt;xsl:template match=&#8221;/root&#8221;&gt;<br />
&lt;html&gt;<br />
&lt;head&gt;&lt;/head&gt;<br />
&lt;body bgcolor=&#8221;#FFFFFF&#8221;&gt;<br />
  &lt;div id=&#8221;container&#8221;&gt;<br />
     &lt;div id=&#8221;navigation&#8221;&gt;<br />
        &lt;xsl:apply-templates select=&#8221;links&#8221; /&gt;<br />
     &lt;/div&gt;<br />
  &lt;/div&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
&lt;/xsl:template&gt;</p>
<p>&lt;xsl:template match=&#8221;links&#8221;&gt;<br />
 &lt;xsl:for-each select=&#8221;link&#8221;&gt;<br />
   &lt;a&gt;<br />
     &lt;xsl:for-each select=&#8221;@*&#8221;&gt;<br />
       &lt;xsl:attribute name=&#8221;{name()}&#8221;&gt;<br />
       &lt;xsl:value-of select=&#8221;.&#8221; /&gt;<br />
          &lt;/xsl:attribute&gt;<br />
       &lt;/xsl:for-each&gt;<br />
    &lt;xsl:value-of select=&#8221;caption&#8221; /&gt;<br />
  &lt;/a&gt;<br />
 &lt;/xsl:for-each&gt;<br />
&lt;/xsl:template&gt;</p>
<p>&lt;/xsl:stylesheet&gt;</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&gt;<br />
&lt;root&gt;<br />
  &lt;links&gt;<br />
    &lt;link id=&#8221;get-news&#8221; href=&#8221;news-proper-url&#8221; onclick=&#8221;clickme&#8221;&gt;&lt;caption&gt;See&lt;/caption&gt;&lt;/link&gt;<br />
  &lt;/links&gt;<br />
&lt;/root&gt;</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&gt;<br />
&lt;root&gt;<br />
  &lt;links&gt;<br />
    &lt;link id=&#8221;get-news&#8221; href=&#8221;another-url&#8221;&gt;&lt;caption&gt;Vu&lt;/caption&gt;&lt;/link&gt;<br />
  &lt;/links&gt;<br />
&lt;/root&gt;</p>
<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;<br />
&lt;?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&gt;<br />
&lt;root&gt;<br />
  &lt;links&gt;<br />
    &lt;link id=&#8221;get-news&#8221; href=&#8221;another-href&#8221; onclick=&#8221;another-clicker&#8221;&gt;&lt;caption&gt;Sehen&lt;/caption&gt;&lt;/link&gt;<br />
  &lt;/links&gt;<br />
&lt;/root&gt;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-600665</link>
		<dc:creator>Kevin</dc:creator>
		<pubDate>Tue, 08 Sep 2009 13:01:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-600665</guid>
		<description>I find this article and your &quot;proper code&quot; fundamentally lacking. 

First of all, worrying about time to load is pointless if you neglect issues like time to register &quot;onclick&quot; events. We have hundreds of events per page and that does indeed slow things down a bit as well. Also, you should not use &quot;onclick=function&quot; you should use addEventListener or equivalent for what is understood by each browser.

Also, you complain about in-line scripts, and yet you inline and hardwired the language to English. 

Your mistake is you are looking at this completely from the wrong site, the side you &quot;see&quot; in the browser. But a lot more should be done before anything even reaches the browser in a visible form. That is, you should use what you do not see: a template system. I am sure this is what Google does. Then most issues you note as being a “problem” regarding in-line script go away and in fact are part of the solution. For example, try XSLT and XML to split content and context. You can use XSLT on the server or in the browser.

Something like:

&amp;lt?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt
&amp;ltxsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;http://www.w3.org/1999/XSL/Transform&quot; &amp;gt

&amp;ltxsl:template match=&quot;/root&quot;&amp;gt
&amp;lthtml&amp;gt
&amp;lthead&amp;gt&amp;lt/head&amp;gt
&amp;ltbody bgcolor=&quot;#FFFFFF&quot;&amp;gt
  &amp;ltdiv id=&quot;container&quot;&amp;gt
     &amp;ltdiv id=&quot;navigation&quot;&amp;gt
        &amp;ltxsl:apply-templates select=&quot;links&quot; /&amp;gt
     &amp;lt/div&amp;gt 
  &amp;lt/div&amp;gt
&amp;lt/body&amp;gt
&amp;lt/html&amp;gt
&amp;lt/xsl:template&amp;gt

&amp;ltxsl:template match=&quot;links&quot;&amp;gt
 &amp;ltxsl:for-each select=&quot;link&quot;&amp;gt
   &amp;lta&amp;gt
     &amp;ltxsl:for-each select=&quot;@*&quot;&amp;gt
       &amp;ltxsl:attribute name=&quot;{name()}&quot;&amp;gt
       &amp;ltxsl:value-of select=&quot;.&quot; /&amp;gt
          &amp;lt/xsl:attribute&amp;gt
       &amp;lt/xsl:for-each&amp;gt
    &amp;ltxsl:value-of select=&quot;caption&quot; /&amp;gt
  &amp;lt/a&amp;gt
 &amp;lt/xsl:for-each&amp;gt
&amp;lt/xsl:template&amp;gt

&amp;lt/xsl:stylesheet&amp;gt

Then any of these XML will always work (be sure to send proper xml headers from your server), for three different languages with and without scripting included. And you never have to touch the display context XSL file above. This is much easier to maintain than your &quot;solution&quot; since your XML content, the only thing that should change, can be built on the fly:

&amp;lt?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt
&amp;lt?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&amp;gt
&amp;ltroot&amp;gt
  &amp;ltlinks&amp;gt
    &amp;ltlink id=&quot;get-news&quot; href=&quot;news-proper-url&quot; onclick=&quot;clickme&quot;&amp;gt&amp;ltcaption&amp;gtSee&amp;lt/caption&amp;gt&amp;lt/link&amp;gt
  &amp;lt/links&amp;gt
&amp;lt/root&amp;gt

&amp;lt?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt
&amp;lt?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&amp;gt
&amp;ltroot&amp;gt
  &amp;ltlinks&amp;gt
    &amp;ltlink id=&quot;get-news&quot; href=&quot;another-url&quot;&amp;gt&amp;ltcaption&amp;gtVu&amp;lt/caption&amp;gt&amp;lt/link&amp;gt
  &amp;lt/links&amp;gt
&amp;lt/root&amp;gt

&amp;lt?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt
&amp;lt?xml-stylesheet type=&quot;text/xsl&quot; href=&quot;test_news.xsl&quot;?&amp;gt
&amp;ltroot&amp;gt
  &amp;ltlinks&amp;gt
    &amp;ltlink id=&quot;get-news&quot; href=&quot;another-href&quot; onclick=&quot;another-clicker&quot;&amp;gt&amp;ltcaption&amp;gtSehen&amp;lt/caption&amp;gt&amp;lt/link&amp;gt
  &amp;lt/links&amp;gt
&amp;lt/root&amp;gt</description>
		<content:encoded><![CDATA[<p>I find this article and your &#8220;proper code&#8221; fundamentally lacking. </p>
<p>First of all, worrying about time to load is pointless if you neglect issues like time to register &#8220;onclick&#8221; events. We have hundreds of events per page and that does indeed slow things down a bit as well. Also, you should not use &#8220;onclick=function&#8221; you should use addEventListener or equivalent for what is understood by each browser.</p>
<p>Also, you complain about in-line scripts, and yet you inline and hardwired the language to English. </p>
<p>Your mistake is you are looking at this completely from the wrong site, the side you &#8220;see&#8221; in the browser. But a lot more should be done before anything even reaches the browser in a visible form. That is, you should use what you do not see: a template system. I am sure this is what Google does. Then most issues you note as being a “problem” regarding in-line script go away and in fact are part of the solution. For example, try XSLT and XML to split content and context. You can use XSLT on the server or in the browser.</p>
<p>Something like:</p>
<p>&amp;lt?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&amp;gt<br />
&amp;ltxsl:stylesheet version=&#8221;1.0&#8243; xmlns:xsl=&#8221;http://www.w3.org/1999/XSL/Transform&#8221; &amp;gt</p>
<p>&amp;ltxsl:template match=&#8221;/root&#8221;&amp;gt<br />
&amp;lthtml&amp;gt<br />
&amp;lthead&amp;gt&amp;lt/head&amp;gt<br />
&amp;ltbody bgcolor=&#8221;#FFFFFF&#8221;&amp;gt<br />
  &amp;ltdiv id=&#8221;container&#8221;&amp;gt<br />
     &amp;ltdiv id=&#8221;navigation&#8221;&amp;gt<br />
        &amp;ltxsl:apply-templates select=&#8221;links&#8221; /&amp;gt<br />
     &amp;lt/div&amp;gt<br />
  &amp;lt/div&amp;gt<br />
&amp;lt/body&amp;gt<br />
&amp;lt/html&amp;gt<br />
&amp;lt/xsl:template&amp;gt</p>
<p>&amp;ltxsl:template match=&#8221;links&#8221;&amp;gt<br />
 &amp;ltxsl:for-each select=&#8221;link&#8221;&amp;gt<br />
   &amp;lta&amp;gt<br />
     &amp;ltxsl:for-each select=&#8221;@*&#8221;&amp;gt<br />
       &amp;ltxsl:attribute name=&#8221;{name()}&#8221;&amp;gt<br />
       &amp;ltxsl:value-of select=&#8221;.&#8221; /&amp;gt<br />
          &amp;lt/xsl:attribute&amp;gt<br />
       &amp;lt/xsl:for-each&amp;gt<br />
    &amp;ltxsl:value-of select=&#8221;caption&#8221; /&amp;gt<br />
  &amp;lt/a&amp;gt<br />
 &amp;lt/xsl:for-each&amp;gt<br />
&amp;lt/xsl:template&amp;gt</p>
<p>&amp;lt/xsl:stylesheet&amp;gt</p>
<p>Then any of these XML will always work (be sure to send proper xml headers from your server), for three different languages with and without scripting included. And you never have to touch the display context XSL file above. This is much easier to maintain than your &#8220;solution&#8221; since your XML content, the only thing that should change, can be built on the fly:</p>
<p>&amp;lt?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&amp;gt<br />
&amp;lt?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&amp;gt<br />
&amp;ltroot&amp;gt<br />
  &amp;ltlinks&amp;gt<br />
    &amp;ltlink id=&#8221;get-news&#8221; href=&#8221;news-proper-url&#8221; onclick=&#8221;clickme&#8221;&amp;gt&amp;ltcaption&amp;gtSee&amp;lt/caption&amp;gt&amp;lt/link&amp;gt<br />
  &amp;lt/links&amp;gt<br />
&amp;lt/root&amp;gt</p>
<p>&amp;lt?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&amp;gt<br />
&amp;lt?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&amp;gt<br />
&amp;ltroot&amp;gt<br />
  &amp;ltlinks&amp;gt<br />
    &amp;ltlink id=&#8221;get-news&#8221; href=&#8221;another-url&#8221;&amp;gt&amp;ltcaption&amp;gtVu&amp;lt/caption&amp;gt&amp;lt/link&amp;gt<br />
  &amp;lt/links&amp;gt<br />
&amp;lt/root&amp;gt</p>
<p>&amp;lt?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&amp;gt<br />
&amp;lt?xml-stylesheet type=&#8221;text/xsl&#8221; href=&#8221;test_news.xsl&#8221;?&amp;gt<br />
&amp;ltroot&amp;gt<br />
  &amp;ltlinks&amp;gt<br />
    &amp;ltlink id=&#8221;get-news&#8221; href=&#8221;another-href&#8221; onclick=&#8221;another-clicker&#8221;&amp;gt&amp;ltcaption&amp;gtSehen&amp;lt/caption&amp;gt&amp;lt/link&amp;gt<br />
  &amp;lt/links&amp;gt<br />
&amp;lt/root&amp;gt</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-597846</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Sun, 16 Aug 2009 22:12:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-597846</guid>
		<description>Zafada,

It&#039;s not just about personal preference, it&#039;s about respecting your end users and stop wasting their time as well - why use unnecessary bandwidth?

When it comes to code being readable, most code in the world is handled by several developers, or handled over to other people - it&#039;s a developer&#039;s obligation to write good code.</description>
		<content:encoded><![CDATA[<p>Zafada,</p>
<p>It&#8217;s not just about personal preference, it&#8217;s about respecting your end users and stop wasting their time as well &#8211; why use unnecessary bandwidth?</p>
<p>When it comes to code being readable, most code in the world is handled by several developers, or handled over to other people &#8211; it&#8217;s a developer&#8217;s obligation to write good code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zafada</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-597428</link>
		<dc:creator>Zafada</dc:creator>
		<pubDate>Wed, 12 Aug 2009 17:52:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-597428</guid>
		<description>I don&#039;t agree with you at all concerning inline css and javascript.

Yeah, it may take a fraction of a second more to load a page, but are we really all that impatient?  Another thing, does code need to be pretty?  

My code is ALWAYS rittled with secret numbers, words, etc inline.  In fact, if anyone ever read my code they&#039;d have no idea what is going on.  I do though, and that&#039;s all that matters.

One thing that pisses me off about programmers is that they all seem to have a &#039;better&#039; way of doing things.  This is where the mind seperates between ego and intelligence and ego is all that&#039;s left.

Back to the code.  My css is inline so I don&#039;t have to specify over a thousand unique classes for what is sometimes only one word.

About caching.  You can easily have your site load from the server every time rather than lapping up the cache.  IE is one of the whores that usually always does this.

File size.  Each html file is over a thousand lines of code and is no more than 50kb.

I will admit however that I have a simple site for people who use IE and get viruses every time they go to ANY site, and a version for firefox which is high resolution and heavy on bandwidth.

The heavy version is total 1.7mb.  Yes, that&#039;s alot for people who live in GA and still have to dial up but not for people like me who see no difference in google response and my response.  And the heavy site is 1280 * 1024.

The simple site isn&#039;t done so can&#039;t accurately be measured however it can accept any resolution and works in any browser mode.  This one will no doubt be indexed by google but the other one is not so likely, which is fine.  The heavy site is only for people that adore visual appearance and artistic effects.

In other words, a site for people who are boring, and a site for people that are not.  msnbc.com = boring, ninjai.com = not.  That kinda thing. 

I guess my last words are this.  Everyone has there own style of programming just like everyone has their own style of drawing.  It&#039;s because of development teams of 100+ people that we all have to think alike.  This is why I&#039;m glad I don&#039;t work for anyone and make more money than if I did.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t agree with you at all concerning inline css and javascript.</p>
<p>Yeah, it may take a fraction of a second more to load a page, but are we really all that impatient?  Another thing, does code need to be pretty?  </p>
<p>My code is ALWAYS rittled with secret numbers, words, etc inline.  In fact, if anyone ever read my code they&#8217;d have no idea what is going on.  I do though, and that&#8217;s all that matters.</p>
<p>One thing that pisses me off about programmers is that they all seem to have a &#8216;better&#8217; way of doing things.  This is where the mind seperates between ego and intelligence and ego is all that&#8217;s left.</p>
<p>Back to the code.  My css is inline so I don&#8217;t have to specify over a thousand unique classes for what is sometimes only one word.</p>
<p>About caching.  You can easily have your site load from the server every time rather than lapping up the cache.  IE is one of the whores that usually always does this.</p>
<p>File size.  Each html file is over a thousand lines of code and is no more than 50kb.</p>
<p>I will admit however that I have a simple site for people who use IE and get viruses every time they go to ANY site, and a version for firefox which is high resolution and heavy on bandwidth.</p>
<p>The heavy version is total 1.7mb.  Yes, that&#8217;s alot for people who live in GA and still have to dial up but not for people like me who see no difference in google response and my response.  And the heavy site is 1280 * 1024.</p>
<p>The simple site isn&#8217;t done so can&#8217;t accurately be measured however it can accept any resolution and works in any browser mode.  This one will no doubt be indexed by google but the other one is not so likely, which is fine.  The heavy site is only for people that adore visual appearance and artistic effects.</p>
<p>In other words, a site for people who are boring, and a site for people that are not.  msnbc.com = boring, ninjai.com = not.  That kinda thing. </p>
<p>I guess my last words are this.  Everyone has there own style of programming just like everyone has their own style of drawing.  It&#8217;s because of development teams of 100+ people that we all have to think alike.  This is why I&#8217;m glad I don&#8217;t work for anyone and make more money than if I did.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-593589</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Sun, 05 Jul 2009 16:44:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-593589</guid>
		<description>Jim,

In the article, I have explained just a few of the common scenarios where JavaScript isn&#039;t available for end users, and it is beyond their own control.

If you&#039;re not interested in about being serious with your web development and cater to everyone, too bad.</description>
		<content:encoded><![CDATA[<p>Jim,</p>
<p>In the article, I have explained just a few of the common scenarios where JavaScript isn&#8217;t available for end users, and it is beyond their own control.</p>
<p>If you&#8217;re not interested in about being serious with your web development and cater to everyone, too bad.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-593253</link>
		<dc:creator>Jim</dc:creator>
		<pubDate>Sat, 04 Jul 2009 00:02:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-593253</guid>
		<description>&quot;Doesn’t everyone have JavaScript nowadays?&quot; Good question. GREAT question. A lot of people think that all automobiles now have electric starters. WRONG! There are many who still drive autos that use a hand crank.  Thank you for bringing up this critical point. Those of us who want the Unabomber (he hates javascript - can&#039;t STAND it)to be able to access our sites will take your sage advice to heart!!</description>
		<content:encoded><![CDATA[<p>&#8220;Doesn’t everyone have JavaScript nowadays?&#8221; Good question. GREAT question. A lot of people think that all automobiles now have electric starters. WRONG! There are many who still drive autos that use a hand crank.  Thank you for bringing up this critical point. Those of us who want the Unabomber (he hates javascript &#8211; can&#8217;t STAND it)to be able to access our sites will take your sage advice to heart!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Nyman</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-570293</link>
		<dc:creator>Robert Nyman</dc:creator>
		<pubDate>Tue, 14 Apr 2009 20:19:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-570293</guid>
		<description>Mark,

What I meant was that the event in the example code was used on a &lt;code&gt;span&lt;/code&gt; element, i.e. an element that doesn&#039;t even have a native click handling functionality (like links and their &lt;code&gt;href&lt;/code&gt; attribute).

If it had been a link element instead, your suggestion would work just fine (although you would still like the code separation for overview, caching etc).</description>
		<content:encoded><![CDATA[<p>Mark,</p>
<p>What I meant was that the event in the example code was used on a <code>span</code> element, i.e. an element that doesn&#8217;t even have a native click handling functionality (like links and their <code>href</code> attribute).</p>
<p>If it had been a link element instead, your suggestion would work just fine (although you would still like the code separation for overview, caching etc).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Boas</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-566398</link>
		<dc:creator>Mark Boas</dc:creator>
		<pubDate>Fri, 10 Apr 2009 11:35:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-566398</guid>
		<description>While I agree with your sentiments I don&#039;t agree with the following para:

&lt;i&gt;Poor accessibility
    When it comes to inline JavaScript code, such as in the above example, itâ€™s applied to an element which doesnâ€™t have any built-in fallback interaction handler (i.e., like a link takes you to the URL specified in its href attribute etc). This means that it wonâ€™t work when JavaScript, for one reason or the other, isnâ€™t available.&lt;/i&gt;

Why can you not define an href for non JS users and make callSomeFunction() return false for the JS users? Returning false will ensure the href link isn&#039;t followed through on.

Cheers

MarkB</description>
		<content:encoded><![CDATA[<p>While I agree with your sentiments I don&#8217;t agree with the following para:</p>
<p><i>Poor accessibility<br />
    When it comes to inline JavaScript code, such as in the above example, itâ€™s applied to an element which doesnâ€™t have any built-in fallback interaction handler (i.e., like a link takes you to the URL specified in its href attribute etc). This means that it wonâ€™t work when JavaScript, for one reason or the other, isnâ€™t available.</i></p>
<p>Why can you not define an href for non JS users and make callSomeFunction() return false for the JS users? Returning false will ensure the href link isn&#8217;t followed through on.</p>
<p>Cheers</p>
<p>MarkB</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Why inline CSS and JavaScript code is such a bad thing - Robert&#8217;s talk &#8230; &#124; CSS Tutorials - CSSHelper.net</title>
		<link>http://robertnyman.com/2008/11/20/why-inline-css-and-javascript-code-is-such-a-bad-thing/#comment-548789</link>
		<dc:creator>Why inline CSS and JavaScript code is such a bad thing - Robert&#8217;s talk &#8230; &#124; CSS Tutorials - CSSHelper.net</dc:creator>
		<pubDate>Fri, 20 Mar 2009 09:34:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.robertnyman.com/?p=1000#comment-548789</guid>
		<description>[...] Source [...]</description>
		<content:encoded><![CDATA[<p>[...] Source [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
