<?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>sandromark78 &#187; Google</title>
	<atom:link href="http://sandromark78.it/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://sandromark78.it</link>
	<description>The official blog of &#34;Sandro Marcon&#34;</description>
	<lastBuildDate>Wed, 07 Apr 2010 21:34:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Best Practice in JavaScript e xHTML</title>
		<link>http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/</link>
		<comments>http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 13:50:40 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[xHTML]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=63</guid>
		<description><![CDATA[Giusto un mese fa, in Smashing Magazine, è comparso un post (che usa come &#8220;base della discussione&#8221; anche la libreria JavaScript jQuery) interessante che riporta una serie di linee guida nell&#8217;uso di JavaScript: in particolare viene posta molta attenzione sulla possibilità che il browser non sia in grado di eseguire il codice JavaScript (come spesso [...]]]></description>
			<content:encoded><![CDATA[<p>Giusto un mese fa, in <a href="http://www.smashingmagazine.com/" target="_blank">Smashing Magazine,</a> è comparso un <a href="http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/" target="_blank">post</a> (che usa come &#8220;base della discussione&#8221; anche la libreria JavaScript <a href="http://jquery.com/" target="_blank">jQuery</a>) interessante che riporta una serie di linee guida nell&#8217;uso di JavaScript: in particolare viene posta molta attenzione sulla possibilità che il browser non sia in grado di eseguire il codice JavaScript (come spesso accade in molti PDA).</p>
<p>La mia attenzione è stata catturata in particolare dalla regola numero 2: <em>NEVER Depend on Javascript</em>.</p>
<p><em>Bad practice</em></p>
<pre class="brush: jscript; title: ; notranslate">
&lt;script language=&quot;javascript&quot;&gt;
var now = new Date();
if(now.getHours() &lt; 12)
document.write('Good Morning!');
else
document.write('Good Afternoon!');
&lt;/script&gt;
</pre>
<p><em>Soluzione proposta</em></p>
<pre class="brush: xml; title: ; notranslate">
&lt;p title=&quot;Good Day Message&quot;&gt;Good Morning!&lt;/p&gt;
</pre>
<pre class="brush: jscript; title: ; notranslate">
var now = new Date();
if(now.getHours() &gt;= 12)
{
var goodDay = $('p[title=&quot;Good Day Message&quot;]');
goodDay.text('Good Afternoon!');
}
</pre>
<p>Non sono molto d&#8217;accordo circa il best practice proposto, motivo: una parte dei contenuti viene ancora generata dinamicamente via JavaScript , sottraendo quindi questi ultmi all&#8217;indicizzazione da parte dei motri di ricerca (ricordo che i motori di ricerca non &#8220;eseguono&#8221; gli script presenti o &#8220;invocati&#8221; nella pagina). In sostanza, come sostiene da tempo il mio caro amico <a href="http://francesco.boschian.googlepages.com/" target="_blank">Francesco Boschian</a>: tutti i contenuti devono essere sempre presenti nella pagina, non generati &#8220;dinamicamente&#8221; via scripting (vedere come buon esempio il sito della <a href="http://www.apple.com/" target="_blank">Apple</a>).</p>
<p>Qui di seguito propongo una soluzione molto &#8220;artiginale e grezza&#8221;, ma che nella sua modestia rappresenta un valido workaround per aggirare la cosa.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;input type=&quot;hidden&quot; id=&quot;str1&quot; value=&quot;Good morning!&quot; /&gt;
&lt;input type=&quot;hidden&quot; id=&quot;str2&quot; value=&quot;Good afternoon!&quot; /&gt;
&lt;p title=&quot;msg&quot;&gt;Good Morning!&lt;/p&gt;
</pre>
<pre class="brush: jscript; title: ; notranslate">
var now = new Date();
if(now.getHours() &gt;= 12)
{
var toSet = $('#str2').value;
}
else
{
var toSet = $('#str1').value;
}
var msg = $('#msg');
msg.text(toSet);
</pre>
<p>Evidente, purtroppo, la ripetizione della stringa &#8220;Good morning!&#8221;. Se però lato server possiamo sfruttare famework quali PHP o Asp.Net, il codice può diventare assai più &#8220;gradevole alla vista&#8221; .</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/best-practice-in-javascript-e-xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gmail: “client” di posta predefinito</title>
		<link>http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/</link>
		<comments>http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 12:08:39 +0000</pubDate>
		<dc:creator>Sandro Marcon</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://sandromark78.it/?p=40</guid>
		<description><![CDATA[Segnalo l’utilissima applicazione gAttach! che permette di rendere il servizio web-mail di Google come “gestore predefinito” di posta nel vostro sistema Microsoft Windows. Qui di seguito vi riporto l’elenco delle caratteristiche che potete ritrovare anche nel sito ufficiale dell’applicazione: send emails directly from: Windows Explorer Microsoft Office Adobe Acrobat Windows Live Photo Gallery Internet Explorer [...]]]></description>
			<content:encoded><![CDATA[<p>Segnalo l’utilissima applicazione <a href="http://chris.wood.name/gAttach/index.html" target="_blank">gAttach!</a> che permette di rendere il servizio web-mail di <a href="http://mail.google.com" target="_blank">Google</a> come “gestore predefinito” di posta nel vostro sistema <a href="http://www.microsoft.com/WINDOWS/" target="_blank">Microsoft Windows</a>.</p>
<p>Qui di seguito vi riporto l’elenco delle caratteristiche che potete ritrovare anche nel sito ufficiale dell’applicazione:</p>
<ul>
<li>send emails directly from:
<ul>
<li>Windows Explorer</li>
<li>Microsoft Office</li>
<li>Adobe Acrobat</li>
<li>Windows Live Photo Gallery</li>
<li>Internet Explorer</li>
<li>Mozilla Firefox</li>
<li>.. and many more;</li>
</ul>
</li>
<li>automatically attach files from your PC to a new email without manually uploading each file;</li>
<li>choose to suppress the annoying standard text provided by Windows (&#8220;Your attachments are ready to send..&#8221;);</li>
<li>handle &#8220;mailto&#8221; email links in web pages.</li>
</ul>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://sandromark78.it/informationtechnology/gmail-%e2%80%9cclient%e2%80%9d-di-posta-predefinito/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

