
<?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>BitTrack &#187; Web</title>
	<atom:link href="http://www.bittrack.it/archives/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bittrack.it</link>
	<description>BitTrack.it tratta di Informatica, Programmazione, Reti, Hack, Trucchi, Tutorial, Webdesign e simili.</description>
	<lastBuildDate>Wed, 01 Sep 2010 06:07:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Comprimere e Decomprimere un file javascript</title>
		<link>http://www.bittrack.it/archives/comprimere-e-decomprimere-un-file-javascript/</link>
		<comments>http://www.bittrack.it/archives/comprimere-e-decomprimere-un-file-javascript/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 17:56:51 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Quick Tip]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=1476</guid>
		<description><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2010/07/javascript-packer.png" class="attachment-post-thumbnail wp-post-image" alt="Javascript Packer" title="javascript-packer" /></div>Curiosando nei codici sorgente di vari siti, ti sarà sicuramente capitato di trovare qualche file javascript totalmente incomprensibile, nonché privo di qualsiasi indentazione. Questo perché è stato compresso e probabilmente anche codificato. La compressione si basa su un sistema molto semplice: togliere i commenti, eliminare tutti gli spazi, le andate a capo, le indentazioni. In [...]]]></description>
			<content:encoded><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2010/07/javascript-packer.png" class="attachment-post-thumbnail wp-post-image" alt="Javascript Packer" title="javascript-packer" /></div><p>Curiosando nei codici sorgente di vari siti, ti sarà sicuramente capitato di trovare qualche file javascript totalmente incomprensibile, nonché privo di qualsiasi indentazione. Questo perché è stato compresso e probabilmente anche codificato.<br />
<span id="more-1476"></span></p>
<p>La compressione si basa su un sistema molto semplice: togliere i commenti, eliminare tutti gli spazi, le andate a capo, le indentazioni. In questo modo le dimensioni del file .js vengono sostanzialmente diminuite, ma il codice non è più facilmente leggibile.</p>
<p>Se nel tuo curiosare avrai poi trovato un file javascript che inizia con:<br />
<code>eval(function(p,a,c,k,e,r){ ... </code><br />
Allora si tratta un file javascript compresso e codificato con <a href="http://dean.edwards.name/packer/">Packer</a>.</p>
<h2>Packer</h2>
<p><a href="http://dean.edwards.name/packer/">Packer</a> è un servizio online che ti permettere di comprimere e al contempo codificare, secondo il proprio algoritmo, un pezzo di codice javascript.</p>
<p>Per farlo basta andare all&#8217;indirizzo <a href="http://dean.edwards.name/packer/">http://dean.edwards.name/packer/</a>, incollare il codice nella prima textarea e premere sul pulsante &#8220;Pack&#8221;.<br />
In un attimo apparirà nell&#8217;altra textarea il nuovo codice privo di spazi e codificato in una maniera da renderlo quasi indecifrabile.</p>
<p>Perchè <strong>quasi </strong>indecifrabile?<br />
Perchè esiste un analogo servizio online che permette di eseguire il processo inverso, <a href="http://jsbeautifier.org/">jsBeautifier</a>.</p>
<h2>Javascript unpacker and beautifier</h2>
<p>Nato inizialmente come servizio per &#8220;rendere più belli&#8221; (significato letterario di <em>beautifier</em>) i file javascript, aggiungendo automaticamente l&#8217;indentazione che più ci aggrada, in seguito è anche diventato un metodo per decodificare i file compressi con <strong>Packer</strong> (da qui il nome &#8220;<em>Unpacker</em>&#8220;).</p>
<p>Andando sulla pagina <a href="http://jsbeautifier.org/">http://jsbeautifier.org/</a> basta incollare nella textarea il codice compresso (privo di spazi), oppure quello codificato da Packer, scegliere le opzioni di indentazione sulla destra, premere su <strong>Beautify</strong> ed il gioco è fatto. Otterrete subito un testo javascript perfettamente leggibile e pronto per essere studiato.</p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/' rel='bookmark' title='Permanent Link: Creare un anteprima dinamica dei commenti'>Creare un anteprima dinamica dei commenti</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-1/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 1'>Primi passi con jQuery &#8211; 1</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-2/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 2'>Primi passi con jQuery &#8211; 2</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/comprimere-e-decomprimere-un-file-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sostituire i font con Cufón</title>
		<link>http://www.bittrack.it/archives/sostituire-i-font-con-cufon/</link>
		<comments>http://www.bittrack.it/archives/sostituire-i-font-con-cufon/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 23:59:17 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=981</guid>
		<description><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2010/01/typography.png" class="attachment-post-thumbnail wp-post-image" alt="typography" title="typography" /></div>Ci sono numerosi metodi per sostituire gli ormai noiosi fonts supportati dai browser web come Arial, Verdana, Courier, etc con altri &#8220;non-nativi&#8221; e sicuramente più accattivanti. Tra i più famosi vorrei citare il vetusto sIFR basato su Flash, la proprietà CSS3 @font-face che sta piano piano prendendo piede, l&#8217;ottimo servizio Typekit purtropppo a pagamento e [...]]]></description>
			<content:encoded><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2010/01/typography.png" class="attachment-post-thumbnail wp-post-image" alt="typography" title="typography" /></div><p>Ci sono numerosi metodi per sostituire gli ormai noiosi fonts supportati dai browser web come Arial, Verdana, Courier, etc con altri &#8220;non-nativi&#8221; e sicuramente più accattivanti.<br />
Tra i più famosi vorrei citare il vetusto <strong><a target="_blank" href="http://www.mikeindustries.com/blog/sifr/">sIFR</a></strong> basato su Flash, la proprietà CSS3 <strong>@font-face</strong> che sta piano piano prendendo piede, l&#8217;ottimo servizio <strong><a target="_blank" href="http://typekit.com/">Typekit</a></strong> purtropppo a pagamento e altri metodi basati su javascript come <strong><a target="_blank" href="http://typeface.neocracy.org/">Typeface</a></strong> e <strong><a target="_blank" href="http://cufon.shoqolate.com/generate/">Cufón</a></strong>.<span id="more-981"></span></p>
<h2>Cufón</h2>
<p>Senza un motivo ben preciso, forse perché mi sono trovato bene quando ho avuto modo di provarlo, vorrei analizzare il funzionamento di quest&#8217;ultimo.</p>
<p>Come precedentemente accennato, si tratta di un metodo completamente basato sui javascript, perciò, chi non li avesse abilitati non vedrebbe alcuna differenza (ma si presuppone che nessuno abbia di questi problemi al giorno d&#8217;oggi).</p>
<h2>Come si procede?</h2>
<p>Nella prima parte del procedimento dobbiamo creare un file javascript che contenga le informazioni riguardo al font che andremo ad usare.<br />
Nella seconda parte andrà applicato alla pagina HTML.</p>
<h2>Generare il Font</h2>
<ol>
<li>Si sceglie il font che vogliamo usare. Con questo intendo che dovremo proprio procurarci il file <strong>.TTF</strong> <strong>.OTF</strong> o <strong>.PFB</strong> e tenerlo a portata di mano. Procuriamoci anche le versioni corsive e in grassetto se riteniamo possano tornarci utili</li>
<li>Andiamo sul sito <a target="_blank" href="http://cufon.shoqolate.com/generate/">http://cufon.shoqolate.com/generate/</a>.</li>
<li>Nella parte alta della pagina ci sono quattro campi in cui possiamo caricare il file del font nella sua versione regolare, quella in grassetto, quella in corsivo e quella in grassetto corsivo. <strong>Solamente la prima è obbligatoria</strong>. Nel mio caso, voglio usare la versione regolare e quella in grassetto, quindi caricherò solo queste due.<br />
<a href="http://www.bittrack.it/wp-content/uploads/2010/01/cufon-generate.png"><img class="alignnone size-medium wp-image-1031" title="cufon-generate" src="http://www.bittrack.it/wp-content/uploads/2010/01/cufon-generate-600x317.png" alt="cufon-generate" width="600" height="317" /></a></li>
<li>Fatto ciò, è importante assicurarsi di aver messo un segno di spunta per accettare l&#8217;<a target="_blank" href="http://it.wikipedia.org/wiki/EULA">EULA</a> che dichiara che il font scelto permette il Web Embedding. Per evitare di avere problemi riguardo a questo punto, consiglio vivamente l&#8217;utilizzo di font completamente Open Source come quello in esempio (<a target="_blank" href="http://www.campivisivi.net/titillium/?page_id=2">Titillium</a>).</li>
<li>Saltando tutte le impostazioni che ci vengono messe a disposizione, andiamo in fondo alla pagina e stavolta dobbiamo accettare i termini del contratto del servizio Cufón.</li>
<li><strong>Let&#8217;s do this!</strong> Dovrebbe partire il download di un file<strong> .font.js</strong> contenente tutte le informazioni riguardo al font caricato. Il file in questione potrebbe avere un nome assurdo e molto lungo, possiamo rinominarlo senza problemi.</li>
</ol>
<h2>Applicazione</h2>
<ol>
<li>Sempre dal <a target="_blank" href="http://cufon.shoqolate.com/generate/">sito di Cufón</a> facciamo click su download per scaricare il file javascript (cufon-yui.js) che contiene il &#8220;motore&#8221; vero e proprio di Cufón.</li>
<li>Apriamo un foglio HTML e nella sezione <strong>&lt;head&gt;</strong> carichiamo prima il <strong>cufon-yui.js</strong> e successivamente il file .font.js del font opportunamente rinominato, assicurandoci che i link siano corretti.
<pre class="brush: xml;">
&lt;head&gt;
    ...
    &lt;script type=&quot;text/javascript&quot; src=&quot;js/cufon-yui.js&quot; &gt;&lt;/script&gt;
    &lt;script type=&quot;text/javascript&quot; src=&quot;js/TitilliumCufon.font.js&quot; &gt;&lt;/script&gt;
    ...
&lt;/head&gt;
</pre>
</li>
<li>Aggiungiamo un po&#8217; di contenuto fittizio alla pagina. Aggiungiamo anche dei titoli nei tag <strong>H1</strong>, <strong>H2</strong>, <strong>H3</strong>, etc perchè è a questi che generalmente viene applicato il cufon per motivi di accessibilità e per non appesantire troppo i tempi di caricamento della pagina. In definitiva, direi che non è buona pratica sostituire il font a tutto il testo, ma è pur sempre fattibile.</li>
<pre class="brush: xml;">&lt;h2&gt;Titolo di qualche genere&lt;/h2&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua....&lt;/p&gt;
&lt;h3&gt;Altro titolo lorem ipsum dolor sit amet&lt;/h3&gt;
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...&lt;/p&gt;</pre>
<li>Tornando nel <strong>&lt;head&gt;</strong> possiamo finalmente caricare lo script indicando quali tag HTML sostituire con il nuovo font in questo modo.
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;

    Cufon.replace('h1,h2,h3,h4,h5,h6');
    //I nomi dei tag vanno separati con le virgole

&lt;/script&gt;
</pre>
</li>
<li>Aprendo la pagina HTML nel browser, il risultato dovrebbe essere qualcosa del genere (tutto dipende dalle impostazioni usate nel css).<br />
<a href="http://www.bittrack.it/wp-content/uploads/2010/01/cufon-applicato.png"><img class="alignnone size-medium wp-image-1057" title="cufon-applicato" src="http://www.bittrack.it/wp-content/uploads/2010/01/cufon-applicato-600x289.png" alt="cufon-applicato" width="600" height="289" /></a></li>
</ol>
<h2>Ulteriori impostazioni</h2>
<p>Quando abbiamo attivato lo script al punto 4, ci siamo limitati a indicare una serie di tag HTML, ma è possibile designare classi o ID specifici utilizzando i selettori CSS.<br />
Se per esempio volessimo applicare il font a tutto ciò che ha la classe &#8220;font&#8221; basterà indicarla in questo modo.</p>
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;

    Cufon.replace('h1,h2,h3,h4,h5,h6,.font');
    //Usa i classici selettori CSS .font per la classe e #font per l'ID

&lt;/script&gt;
</pre>
<p>Ultima cosa che vorrei segnalare, se applichiamo il cufon ai link, non funzionerà lo status hover con le impostazioni di default. Per abilitarlo basta aggiungere questa opzione.</p>
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;

    Cufon.replace('h1,h2,h3,h4,h5,h6,.font');
    //Usa i classici selettori CSS .font per la classe e #font per l'ID

&lt;/script&gt;
</pre>
<p>Ultima cosa che vorrei segnalare, se applichiamo il cufon ai link, non funzionerà lo status <strong>hover</strong> con le impostazioni di default. Per abilitarlo basta aggiungere questa opzione.</p>
<pre class="brush: xml;">
&lt;script type=&quot;text/javascript&quot;&gt;

    Cufon.replace('h1,h2,h3,h4,h5,h6,.font',{ hover: 'true' });

&lt;/script&gt;
</pre>
<h3>Aggiornamento</h3>
<p>Se Cufon non dovesse funzionare su browser obsoleti tipo IE6, IE7 o le versioni di Firefox inferiori alla 3.5, potete risolvere il problema caricando un framework javascript (tipo jQuery), prima dell&#8217;inclusione di <strong>Cufon-yui.js</strong>, in questo modo:</p>
<pre class="brush: xml;">&lt;head&gt;
...
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/cufon-yui.js&quot; &gt;&lt;/script&gt;
...
&lt;/head&gt;</pre>
<p>Il problema è dovuto al fatto che questi browser non riconoscono i selettori css tipo <em>.nomeClasse</em> o <em>#nomeId</em>.</p>
<p>Di seguito vi lascio il link ad una pagina demo molto sempliciotta che mostra i risultati ottenuti e il download del pacchetto con tutti i file (compreso il font). Alla prossima! <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: center;"><a class="down" href="http://www.bittrack.it/download/TutorialCufon.rar"></a><a class="demo" target="_blank" href="http://www.bittrack.it/demo/cufonDemo/index.html"></a></p>
<p>Il font usato nell&#8217;esempio, <strong>Titillium</strong>, è completamente Open Source e può essere scaricato nella versione completa dal <a target="_blank" href="http://www.campivisivi.net/titillium/?page_id=2">sito ufficiale</a>.</p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/aggiungere-o-sostituire-manualmente-le-smiley-di-wordpress/' rel='bookmark' title='Permanent Link: Aggiungere o sostituire manualmente le smiley di wordpress'>Aggiungere o sostituire manualmente le smiley di wordpress</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-1/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 1'>Primi passi con jQuery &#8211; 1</a></li>
<li><a href='http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/' rel='bookmark' title='Permanent Link: Creare un anteprima dinamica dei commenti'>Creare un anteprima dinamica dei commenti</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/sostituire-i-font-con-cufon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primi passi con jQuery &#8211; 2</title>
		<link>http://www.bittrack.it/archives/primi-passi-con-jquery-2/</link>
		<comments>http://www.bittrack.it/archives/primi-passi-con-jquery-2/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 20:25:01 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[funzioni]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=901</guid>
		<description><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/11/primi-passi-con-jquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="primi-passi-con-jquery" title="primi-passi-con-jquery" /></div>Eccoci qua con una nuova lezione di Jquery. L&#8217;altra volta abbiamo visto degli esempi molto semplici di funzioni jquery, che però ti dovrebbero aver già fatto intuire come sia la struttura di qualsiasi altro script. Struttura di base Ricapitolando, abbiamo visto che tutto il codice jquery deve stare all&#8217;interno di $(document).ready(function() { &#8230; }); per [...]]]></description>
			<content:encoded><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/11/primi-passi-con-jquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="primi-passi-con-jquery" title="primi-passi-con-jquery" /></div><p>Eccoci qua con una nuova lezione di <strong>Jquery</strong>.<br />
L&#8217;<a href="http://www.bittrack.it/archives/primi-passi-con-jquery-1/" target="_blank">altra volta</a> abbiamo visto degli esempi molto semplici di funzioni jquery, che però ti dovrebbero aver già fatto intuire come sia la struttura di qualsiasi altro script.<br />
<span id="more-901"></span></p>
<h2>Struttura di base</h2>
<p>Ricapitolando, abbiamo visto che tutto il codice jquery deve stare all&#8217;interno di <em>$(document).ready(function() {</em> &#8230;  <em>});</em> per funzionare.</p>
<p>Fatto questo, avremo sempre bisogno di un <strong>oggetto</strong> da cui partire, come ad esempio: <em>$(”#prova”)</em>. Nei casi analizzati, si trattava di un oggetto con un preciso <strong>ID</strong> o <strong>classe</strong>, ma non sempre sarà così e quindi ricorreremo a tutta una serie di <strong><a href="http://docs.jquery.com/Selectors" target="_blank">selettori</a></strong>, che ho intensione di vedere più avanti.</p>
<p>Una volta individuato l&#8217;oggetto, abbiamo bisogno di un <strong><a href="http://docs.jquery.com/Events" target="_blank">evento</a></strong>, per proseguire nell&#8217;esecuzione della funzione. Anche in questo caso, abbiamo visto solo l&#8217;evento <strong><a href="http://docs.jquery.com/Events/click#fn" target="_blank">.click()</a></strong>, che fa partire una certa funzione nel momento in cui clicchiamo sull&#8217;oggetto indicato, ma ce ne saranno altri da prendere in considerazione.</p>
<p>Indicato l&#8217;evento scatenante, possiamo passare alla descrizione della funzione vera e propria, quindi ci servirà nuovamente un <strong>oggetto</strong> su cui lavorare e far partire le animazioni e gli effetti vari che la libreria jQuery ci mette a disposizione. Fin&#8217;ora hai visto solo il<strong> .fadeIn()</strong>.<br />
Esempio:</p>
<pre class="brush: jscript;">
  $(&quot;#prova&quot;).click(function() {
     $(&quot;.hide&quot;).fadeIn();
     return false;
  });
</pre>
<p>Questa che ho cercato di tracciare è la struttura che seguiremo nel 90% dei casi:</p>
<p>selettore + evento &#8211;&gt; selettore + effetto</p>
<p>Ora non resta altro che vedere il maggior numero possibile di selettori, eventi ed effetti, per riuscire a padroneggiare al meglio questo potente strumento chiamato jQuery.</p>
<h2>Animare gli elementi cambiandone dinamicamente lo stile</h2>
<p>Per prima cosa dobbiamo definire la struttura HTML e CSS da manipolare.</p>
<p><strong>Codice HTML:</strong></p>
<pre class="brush: xml;">
&lt;ul id=&quot;animazione&quot;&gt;
    &lt;li&gt;Segui&lt;/li&gt;
    &lt;li&gt;i tutorial&lt;/li&gt;
    &lt;li&gt;di jquery&lt;/li&gt;
    &lt;li&gt;su&lt;/li&gt;
    &lt;li&gt;BitTrack.it&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p><strong>Codice CSS:</strong></p>
<pre class="brush: css;">
#animazione {
    list-style: none;
}
#animazione li {
    width: 200px;
    padding: 5px;
    border: 1px solid #ccc;
    background: #eee;
}
</pre>
<p>Il risultato è questo:</p>
<ul id="animazione">
<li>Segui</li>
<li>i tutorial</li>
<li>di jquery</li>
<li>su</li>
<li>BitTrack.it</li>
</ul>
<p>Una semplice lista con ID <em>animazione</em>, contenente elementi di larghezza 200px (210px per i più pignoli <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ). Vogliamo far sì che, cliccando su un qualsiasi elemento della lista, la sua larghezza raddoppi a 400px con un&#8217;animazione.</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;

$(document).ready(function(){

    $(&quot;#animazione li&quot;).click(function(){
        $(this).animate({width: &quot;400px&quot;}, 1000);
    });

});

&lt;/script&gt;
</pre>
<p>Analizziamo il codice passo passo.</p>
<p>Con <strong>$(&#8220;#animazione li&#8221;)</strong> indico qualsiasi elemento
<li> appartenente alla lista con ID <em>animazione</em>, esattamente come avviene nel CSS. Usando l&#8217;evento <strong>.click(function){</strong> &#8230; <strong>});</strong> scrivo dentro alle graffe l&#8217;effetto che voglio ottenere.</p>
<p>Per eseguire un effetto però ho bisogno di un oggetto su cui lavorare e si da il caso che si tratti proprio dell&#8217;elemento che ho appena cliccato! Come fare per individuare esattamente quell&#8217;elemento della lista piuttosto che un altro? Usando <strong>$(this)</strong>.<br />
Si tratta di un selettore molto utile che, in questo caso, fa riferimento all&#8217;oggetto della funzione <em>click()</em>.</p>
<p>Cosa sia esattamente <strong>this</strong> non è semplice da spiegare (almeno per me), è una cosa che si riesce a comprendere a pieno soltanto con l&#8217;esperienza.<br />
Per ora ti basta sapere che, una volta fatto click su un elemento della lista, <strong>this</strong> indicherà esattamente quell&#8217;elemento; quindi non resta altro da fare che far partire l&#8217;effetto desiderato con <strong>animate()</strong>.</p>
<h2>Animate</h2>
<p><strong><a href="http://docs.jquery.com/Effects/animate#paramsdurationeasingcallback" target="_blank">Animate()</a></strong> è una funzione molto potente che ci permette di manipolare l&#8217;oggetto desiderato, cambiandone lo stile per mezzo di animazioni. Quando parlo di stile, intendo lo stesso che usiamo nei css. Per esempio, in questo caso dobbiamo aumentare la larghezza fino a 400px, scriverò:</p>
<pre class="brush: jscript;">$(this).animate({width: &quot;400px&quot;});</pre>
<p>Come vedi, i parametri dell&#8217;animazione (quelli tra parentesi graffe) vengono indicati in modo molto simile alle dichiarazioni del css (fatta eccezione per le virgolette).<br />
Altra cosa da notare, è il fatto che, come ti avevo preannunciato l&#8217;<a href="http://www.bittrack.it/archives/primi-passi-con-jquery-1/" target="_blank">altra volta</a>, i <strong>parametri</strong> di una funzione <strong>seguono una loro precisa formattazione</strong>.<br />
Nel caso di <em>animate()</em> devi inserire i parametri dell&#8217;animazione vera e propria dentro parentesi graffe e se vorrai indicare la durata dell&#8217;effetto (come nel nostro caso), dovrai inserirla al di fuori delle parentesi preceduta da una virgola, in questo modo.</p>
<pre class="brush: jscript;">$(this).animate({width: &quot;400px&quot;}, 1000);</pre>
<p>Questo è ciò che abbiamo ottenuto:</p>
<ul id="animazione1">
<li>Segui</li>
<li>i tutorial</li>
<li>di jquery</li>
<li>su</li>
<li>BitTrack.it</li>
</ul>
<h2>Eseguire la funzione inversa facendo click sullo stesso elemento</h2>
<p>L&#8217;animazione è riuscita alla grande, ma vediamo di rendere il nostro script più completo, facendo in modo che, cliccando una seconda volta sugli elementi la cui larghezza è aumentata, questi tornino alla situazione di partenza con un&#8217;altra animazione.</p>
<p>Anche quì ci sono molte strade, ma la pratica più usata consiste nell&#8217;assegnare una classe agli elementi la cui larghezza è stata portata a 400px, dopo di che, se viene fatto nuovamente click su uno di questi elementi, attraverso un controllo, saremo in grado di capire se la larghezza di quel dato elemento sia da aumentare o diminuire, a seconda che quella classe sia presente o no.</p>
<p>Anche in questo caso risulta troppo difficile da spiegare a parole, quindi passiamo ai fatti.</p>
<pre class="brush: jscript;">
&lt;script type=&quot;text/javascript&quot;&gt;

$(document).ready(function(){

    $(&quot;#animazione li&quot;).click(function(){
        if($(this).hasClass(&quot;largo&quot;)){
            $(this).removeClass(&quot;largo&quot;).animate({width: &quot;200px&quot;}, 1000);
        } else{
            $(this).addClass(&quot;largo&quot;).animate({width: &quot;400px&quot;}, 1000);
        }
    });

});

&lt;/script&gt;
</pre>
<p>Analizzando il codice: come punto di partenza abbiamo sempre il click su un elemento della lista.</p>
<pre class="brush: jscript;">
    $(&quot;#animazione li&quot;).click(function(){
        //...
    });
</pre>
<p>Dopo di che, se quel preciso elemento possiede la classe <strong>largo</strong> (nome a caso scelto da me con molta fantasia) e quindi è già lungo 400px, riportalo a 200px e toglili la classe <strong>largo</strong>.</p>
<pre class="brush: jscript;">if( $(this).hasClass(&quot;largo&quot;) ) {
    $(this).removeClass(&quot;largo&quot;).animate({width: &quot;200px&quot;}, 1000);
}</pre>
<p>Altrimenti (cioè se non possiede quella data classe), aumenta la lunghezza a 400px e aggiungigli la classe <strong>largo</strong>.</p>
<pre class="brush: jscript;">
else{
    $(this).addClass(&quot;largo&quot;).animate({width: &quot;400px&quot;}, 1000);
}
</pre>
<p>Ecco il risultato finale:</p>
<ul id="animazione2">
<li>Segui</li>
<li>i tutorial</li>
<li>di jquery</li>
<li>su</li>
<li>BitTrack.it</li>
</ul>
<p>Mi scuso se sono andato un po&#8217; di fretta in questi ultimi passaggi, nonostante abbia utilizzato funzioni molto utili ed importanti tipo <strong>hasClass()</strong>, <strong>addClass</strong>,<strong> removeClass</strong>, ma il loro significato è talmente intuitivo ed evidente che non mi sembrava il caso di perderci troppo tempo.</p>
<h2>Fine</h2>
<p>Anche questa &#8220;lezione&#8221; è finita, spero di riuscire a pubblicare le prossime più velocemente, poichè gli argomenti da trattare su jQuery sono tantissimi, devo solo scegliere l&#8217;ordine da seguire. Come al solito, se hai suggerimenti o critiche, i commenti sono a tua disposizione. Alla prossima. <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> </p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-1/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 1'>Primi passi con jQuery &#8211; 1</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-%e2%80%93-3/' rel='bookmark' title='Permanent Link: Primi passi con jQuery – 3'>Primi passi con jQuery – 3</a></li>
<li><a href='http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/' rel='bookmark' title='Permanent Link: Creare un anteprima dinamica dei commenti'>Creare un anteprima dinamica dei commenti</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/primi-passi-con-jquery-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primi passi con jQuery &#8211; 1</title>
		<link>http://www.bittrack.it/archives/primi-passi-con-jquery-1/</link>
		<comments>http://www.bittrack.it/archives/primi-passi-con-jquery-1/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 22:43:33 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=811</guid>
		<description><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/11/primi-passi-con-jquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="primi-passi-con-jquery" title="primi-passi-con-jquery" /></div>non c'è molto in Italiano per questo, vorrei condividerne la mia conoscenza con te, con una sorta di "<i>guida al jquery</i>", basata su semplici esempi pratici]]></description>
			<content:encoded><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/11/primi-passi-con-jquery.jpg" class="attachment-post-thumbnail wp-post-image" alt="primi-passi-con-jquery" title="primi-passi-con-jquery" /></div><p><a href="http://jquery.com/" target="_blank">Jquery</a> è una libreria javascript molto potente che ci permette di estendere le potenzialità e funzionalità delle nostre pagine web con animazioni ed effetti vari.</p>
<p>Su Internet si possono trovare un infinità di tutorial a riguardo, ma che io sappia, non c&#8217;è molto in Italiano; dunque vorrei provare a condividerne la mia conoscenza con te, con una sorta di &#8220;<em>guida al jquery</em>&#8220;, basata su semplici esempi pratici piuttosto che concetti teorici.<span id="more-811"></span></p>
<h2>Preparazione</h2>
<p>Senza indugiare oltre, vai su <a href="http://jquery.com/" target="_blank">http://jquery.com/</a> e scarica l&#8217;ultima versione di jquery (al momento è la 1.3.2).</p>
<p>Quindi sposta il file<strong> jquery-1.3.2.min.js</strong> appena scaricato nella cartella dove andremo a fare i nostri primi esperimenti; nella stessa cartella aggiungi anche un file HTML vuoto.</p>
<p>Tutto quello che devi fare adesso per utilizzare la libreria, è includerla nella sezione <strong>&lt;head&gt;</strong> del codice HTML in questo modo.</p>
<pre class="brush: xml;">&lt;head&gt;

 &lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;

&lt;/head&gt;</pre>
<p>Notare che se avessi spostato il file jquery-1.3.2.min.js in una sottocartella avresti dovuto scrivere:</p>
<pre class="brush: xml;">&lt;script type=&quot;text/javascript&quot; src=&quot;NOMECARTELLA/jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;</pre>
<p>Adesso puoi cominciare a scrivere il tuo primo semplice script per vedere se tutto funziona.</p>
<h2>Test di funzionamento</h2>
<p><strong>Di seguito all&#8217;inclusione di jQuery</strong>, aggiungi un altro tag <strong>&lt;script&gt;</strong> e scrivi al suo interno il primo (fondamentale) codice jquery.</p>
<pre class="brush: xml;">&lt;head&gt;
 &lt;script type=&quot;text/javascript&quot; src=&quot;jquery-1.3.2.min.js&quot;&gt;&lt;/script&gt;
 &lt;script type=&quot;text/javascript&quot;&gt;
   $(document).ready(function() {
     // fai qualcosa quando la pagina è stata caricata
   });
 &lt;/script&gt;
&lt;/head&gt;</pre>
<p>Quando si scrive un codice jquery, è importante cominciare con la scritta <em>$(document).ready(function() {</em> per indicare che tutto ciò che è scritto dopo la parentesi graffa (e prima della chiusura <em>}); </em>), verrà eseguito solo quando la pagina sarà completamente caricata.<br />
Spostati momentaneamente nel <strong>&lt;body&gt;</strong> per aggiungere un link da usare come pulsante per azionare lo script.</p>
<pre class="brush: xml;">&lt;a href=&quot;#&quot; id=&quot;prova&quot;&gt;Funziona?&lt;/a&gt;</pre>
<p>Visto che dobbiamo solamente testare il funzionamento della libreria, facciamo qualcosa di molto semplice.</p>
<pre class="brush: jscript;"> $(document).ready(function() {
   $(&quot;#prova&quot;).click(function() {
     alert(&quot;Certo che funziona!&quot;);
     return false;
   });
 });</pre>
<p>Ecco la spiegazione a grandi linee del codice. Quando viene fatto click su<strong> $(&#8220;#prova&#8221;)</strong>, cioè, l&#8217;elemento con ID &#8220;<em>prova</em>&#8220;, esegue una funzione che mostra un messaggio di <strong>alert</strong> che dice: <em>Certo che funziona!</em></p>
<p>Nota: il comando <strong>return false;</strong> non è indispensabile ai fini della funzione, serve solo ad evitare che cliccando, l&#8217;utente venga realmente reindirizzato alla pagina indicata nel <strong>href </strong>del link (in questo caso <strong>#</strong> farebbe scrollare improvvisamente la pagina verso l&#8217;alto).</p>
<p><code><a id="prova" href="#"><strong>Funziona?</strong></a></code></p>
<p>Se appare l&#8217;alert significa che jquery funziona correttamente!</p>
<p>Anche se per ora il codice scritto non ti risulta molto chiaro, con qualche altro esempio e un minimo di pratica, capirai quanto jQuery sia effettivamente semplice.</p>
<h2>Mostra e nascondi elementi</h2>
<p>Per ora sei riuscito a far apparire un messaggio di alert, che come effetto non è poi un granchè, proviamo dunque con qualcosa di più interessante <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p>Per prima cosa c&#8217;è bisogno degli elementi HTML da manipolare.</p>
<pre class="brush: xml;">&lt;a href=&quot;#&quot; id=&quot;prova2&quot;&gt;Fatti vedere!&lt;/a&gt;
&lt;span class=&quot;hide&quot; style=&quot;display: none&quot;&gt;Eccomi.&lt;/span&gt;</pre>
<p>Un link con ID <strong>prova2</strong> e uno span con classe<strong> hide</strong> che però ho nascosto con <em>style=&#8221;display: none&#8221; </em>(avrei potuto fare lo stesso da un file css esterno).</p>
<p>Vogliamo fare in modo che cliccando sul link &#8220;Fatti vedere!&#8221;, appaia lo span con la scritta <em>Eccomi</em>.</p>
<p><code><strong><a id="prova2" href="#">Fatti vedere!</a></strong> <span class="hide" style="display: none">Eccomi.</span></code></p>
<p>Vediamo il codice jquery. Ricordati che deve essere incluso nel solito <em>$(document).ready(function() {</em>.</p>
<pre class="brush: jscript;">$(document).ready(function() {

  //... altro codice

  $(&quot;#prova2&quot;).click(function() {
     //scrivi qui cosa succede dopo il click
  });

});</pre>
<p>Come prima, ho usato l&#8217;evento <em>.click</em> sul link per far partire la funzione. Ma hai fatto caso che lo <em>span</em> che dobbiamo far apparire ha una classe anziché un ID? Come li distinguo in jquery? Semplicissimo, esattamente come nel CSS: &#8220;<strong>#</strong>&#8221; sta per ID e &#8220;<strong>.</strong>&#8221; sta per classe. Quindi <strong>$(&#8220;.hide&#8221;)</strong> rappresenterà l&#8217;elemento (o gli elementi) con classe &#8220;hide&#8221;.</p>
<pre class="brush: jscript;">
  $(&quot;#prova2&quot;).click(function() {
     $(&quot;.hide&quot;).fadeIn();
     return false;
  });
</pre>
<p>Per far apparire un elemento che è inizialmente nascosto, ci sono molti modi in jquery, io ho voluto usare il <a href="http://docs.jquery.com/Effects/fadeIn#speedcallback" target="_blank"><strong>.fadeIn()</strong></a>. Se vuoi puoi provare anche con <a href="http://docs.jquery.com/Effects/show" target="_blank"><strong>.show()</strong></a> che mostra l&#8217;elemento immediatamente, senza alcuna &#8220;transizione&#8221;.</p>
<h2>Parametri</h2>
<p>Come ultima cosa per oggi vediamo di passare qualche parametro al <em>fadeIn()</em> per allungarne la durata dell&#8217;effetto. I parametri di una funzione vanno inseriti nelle parentesi tonde quando questa viene chiamata.</p>
<pre class="brush: jscript;">
     $(&quot;.hide&quot;).fadeIn( PARAMETRI DELLA FUNZIONE );
</pre>
<p>Ovviamente, ogni funzione supporta solo un certo tipo di parametri che andranno scritti con una certa formattazione, con attenzione a virgole, virgolette, parentesi graffe, ect.</p>
<p>In questo caso, però, vogliamo solo impostare il tempo di durata dell&#8217;effetto<em> fadeIn</em>, che <strong>essendo un parametro numerico</strong> (espresso in millisecondi), basterà scriverlo nelle parentesi senza ulteriore formattazione.</p>
<pre class="brush: jscript;">
  $(&quot;#prova3&quot;).click(function() {
     $(&quot;.hide2&quot;).fadeIn(3000);
     return false;
  });
</pre>
<p>Proviamo con 3000, cioè 3 secondi.</p>
<p><code><strong><a id="prova3" href="#">FadeIn di 3 secondi</a></strong> <span class="hide2" style="display: none">Eccomi.</span></code></p>
<h2>Fine (per ora)</h2>
<p>Questa era la prima &#8220;lezione&#8221; di jquery, spero sia stata di tuo gradimento, perché ho intenzione di farne altre. Se hai bisogno di chiarimenti o vuoi fare qualche critica, un commento è ben gradito. Stay tuned! <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> </p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-2/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 2'>Primi passi con jQuery &#8211; 2</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-%e2%80%93-3/' rel='bookmark' title='Permanent Link: Primi passi con jQuery – 3'>Primi passi con jQuery – 3</a></li>
<li><a href='http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/' rel='bookmark' title='Permanent Link: Creare un anteprima dinamica dei commenti'>Creare un anteprima dinamica dei commenti</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/primi-passi-con-jquery-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Creare un anteprima dinamica dei commenti</title>
		<link>http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/</link>
		<comments>http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 21:59:51 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[funzioni]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=703</guid>
		<description><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/10/anteprima-commento.jpg" class="attachment-post-thumbnail wp-post-image" alt="anteprima-commento" title="anteprima-commento" /></div>Avere un anteprima del commento che si sta scrivendo, risulta molto utile, specialmente se si vuole utilizzare qualche tag html tipo quello per inserire link, citazioni o mettere il testo grassetto, o in corsivo. Per far ciò bastano poche semplici righe di jquery. Codice HTML Innanzitutto ci serve il codice HTML della textarea in cui l&#8217;utente [...]]]></description>
			<content:encoded><![CDATA[<div><img width="200" height="200" src="http://www.bittrack.it/wp-content/uploads/2009/10/anteprima-commento.jpg" class="attachment-post-thumbnail wp-post-image" alt="anteprima-commento" title="anteprima-commento" /></div><p>Avere un anteprima del commento che si sta scrivendo, risulta molto utile, specialmente se si vuole utilizzare qualche tag html tipo quello per inserire link, citazioni o mettere il testo grassetto, o in corsivo. Per far ciò bastano poche semplici righe di <strong>jquery</strong>.<span id="more-703"></span></p>
<h2>Codice HTML</h2>
<p>Innanzitutto ci serve il codice HTML della textarea in cui l&#8217;utente inserisce il commento.</p>
<pre class="brush: xml;">
&lt;body&gt;

	&lt;h3&gt;Inserisci del testo per far apparire l'anteprima&lt;/h3&gt;
	&lt;textarea id=&quot;commento&quot;&gt;&lt;/textarea&gt;

&lt;/body&gt;
</pre>
<p>Di seguito aggiungiamo un DIV vuoto, dove vogliamo che appaia l&#8217;anteprima e diamoli un id, in questo caso l&#8217;ho chiamato &#8220;anteprima&#8221;.</p>
<pre class="brush: xml;">&lt;body&gt;

	&lt;h3&gt;Inserisci un commento per far apparire l'anteprima&lt;/h3&gt;
	&lt;textarea id=&quot;commento&quot;&gt;&lt;/textarea&gt;

	&lt;div id=&quot;anteprima&quot;&gt;
		&lt;h3&gt;Anteprima del commento&lt;/h3&gt;
		&lt;div&gt;&lt;!-- l'anteprima apparirà qui --&gt;&lt;/div&gt;
	&lt;/div&gt;

&lt;/body&gt;
</pre>
<p>Per l&#8217;esattezza, l&#8217;anteprima del commento non apparirà dentro al div &#8220;<em>anteprima</em>&#8221; ma in quello vuoto che si trova al suo interno.</p>
<p>Nascondiamo il tutto con un tocco di CSS.</p>
<pre class="brush: css;">#anteprima {
	display: none;
}</pre>
<p>In questo modo, non vedremo neanche la scritta &#8220;Anteprima del commento&#8221;;  lo faremo riapparire al momento giusto con lo script.</p>
<h2>Script Jquery</h2>
<p>Come al solito, assicuriamoci di aver incluso la libreria jquery nell&#8217;head e usando un file esterno o la stessa pagina html, creiamo il nostro script.</p>
<pre class="brush: jscript;">$(document).ready(function(){

	$(&quot;#commento&quot;).keyup(function() {
          //funzione da eseguire
	});

});</pre>
<p>Per far sì che lo script inizi a lavorare, usiamo l&#8217;<a href="http://docs.jquery.com/Events/keyup" target="_blank">evento jquery <strong>keyup</strong></a>, che esegue una certa funzione quando viene premuto (e rilasciato) un tasto mentre il focus si trova sulla textarea (che ha ID commento).</p>
<pre class="brush: jscript;">$(document).ready(function(){

	$(&quot;#commento&quot;).keyup(function () {
		var comment = $(this).val();
		$(&quot;#anteprima&quot;).show().children('div').html(comment);
	});

});</pre>
<p>La funzione da eseguire è molto semplice:</p>
<ol>
<li>Prendo il contenuto della textarea e lo salvo nella variabile <strong>comment</strong>.</li>
<li>Faccio apparire il div con id <em>anteprima</em></li>
<li>Seleziono l&#8217;altro div vuoto che si trova al suo interno e vi scrivo il contenuto della variabile <strong>comment</strong> (cioè il testo del commento stesso)</li>
</ol>
<p>Abbiamo quasi finito, basta fare qualche prova e vediamo che i vari tag html tipo &lt;a&gt;, &lt;strong&gt;, &lt;i&gt; vengono perfettamente &#8220;interpretati&#8221; nell&#8217;anteprima.</p>
<p>C&#8217;è solo un problema: quando premiamo invio, il testo non va a capo ma aggiunge semplicemente uno spazio.</p>
<pre class="brush: jscript;">$(document).ready(function(){

	$(&quot;#commento&quot;).keyup(function () {
		var comment = $(this).val().replace(/\n/g, &quot;&lt;br /&gt;&quot;);
		$(&quot;#anteprima&quot;).show().children('div').html(comment);
	});

});</pre>
<p>Per correggere questo errore, basta agire sulla variabile comment e sostituire i <strong>\n</strong>, cioè i &#8220;simboli delle andate a capo&#8221; con dei <strong>&lt;br /&gt;</strong>.</p>
<h2>Fine</h2>
<p>Adesso lo script è completo e pronto all&#8217;uso. Puoi sperimentarlo aggiungendo un commento su questa pagina!</p>
<p style="text-align: center;"><a class="down" href="http://www.bittrack.it/download/anteprima%20commento.zip">Download</a></p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/creare-un-ajax-contact-form-con-validazione-dei-dati/' rel='bookmark' title='Permanent Link: Creare un ajax contact form con validazione dei dati'>Creare un ajax contact form con validazione dei dati</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-2/' rel='bookmark' title='Permanent Link: Primi passi con jQuery &#8211; 2'>Primi passi con jQuery &#8211; 2</a></li>
<li><a href='http://www.bittrack.it/archives/primi-passi-con-jquery-%e2%80%93-3/' rel='bookmark' title='Permanent Link: Primi passi con jQuery – 3'>Primi passi con jQuery – 3</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/creare-un-anteprima-dinamica-dei-commenti/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Rimuovere la pubblicità su qualsiasi browser con Privoxy</title>
		<link>http://www.bittrack.it/archives/rimuovere-la-pubblicita-su-qualsiasi-browser-con-privoxy/</link>
		<comments>http://www.bittrack.it/archives/rimuovere-la-pubblicita-su-qualsiasi-browser-con-privoxy/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 00:40:54 +0000</pubDate>
		<dc:creator>Raspo</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[adBlock]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.bittrack.it/?p=369</guid>
		<description><![CDATA[<div><img src="http://www.bittrack.it/wp-content/uploads/2009/09/privoxy.jpg" class="attachment-post-thumbnail wp-post-image" alt="privoxy" title="privoxy" /></div>AdBlock Plus, il più popolare tra i Plugin di FireFox, ci ha viziati al punto che quando tentiamo di passare ad un nuovo browser, ne sentiamo immediatamente la mancanza. Ed è un vero peccato perché non possiamo gustarci altre validissime alternative tipo Chrome o Safari; ma in attesa che esca un plugin simile anche per [...]]]></description>
			<content:encoded><![CDATA[<div><img src="http://www.bittrack.it/wp-content/uploads/2009/09/privoxy.jpg" class="attachment-post-thumbnail wp-post-image" alt="privoxy" title="privoxy" /></div><p><a href="https://addons.mozilla.org/it/firefox/addon/1865" target="_blank">AdBlock Plus</a>, il più popolare tra i Plugin di FireFox, ci ha viziati al punto che quando tentiamo di passare ad un nuovo browser, ne sentiamo immediatamente la mancanza.</p>
<p><span id="more-369"></span>Ed è un vero peccato perché non possiamo gustarci altre validissime alternative tipo Chrome o Safari; ma in attesa che esca un plugin simile anche per altri browser, possiamo sfruttare una soluzione alternativa,<strong> Privoxy</strong>.</p>
<h2>Installazione e configurazione</h2>
<ol>
<li>Andiamo su <a href="http://www.privoxy.org/" target="_blank">http://www.privoxy.org/</a>, scarichiamo e installiamo l&#8217;omonima applicazione che da qui in avanti rimarrà sempre attiva in background (nulla da temere, occupa solo un paio di MB)</li>
<li>Apriamo Chrome, quindi dal menu impostazioni (l&#8217;icona a forma di chiave inglese in alto a destra) scegliamo <strong>Opzioni</strong></li>
<li>Spostiamoci sulla scheda <strong>Roba da smanettoni</strong> e facciamo click su <strong>Modifica impostazioni Proxy</strong></li>
<li>Nella finestra che si aprirà selezioniamo <strong>Connessioni</strong> e poi <strong>Impostazioni LAN</strong></li>
<li>Nella nuova finestra mettiamo un segno di spunta sulla casella che abilita l&#8217;utilizzo del <strong>Server Proxy</strong></li>
<li>Nel campo <strong>Indirizzo </strong>digitiamo<strong> 127.0.0.1</strong> e come <strong>Porta</strong> impostiamo la <strong>8118</strong></li>
<li><strong> </strong>Assicuriamoci che la casella <strong>Ignora server proxy…</strong> non sia spuntata</li>
<li>Clicckiamo <strong>OK</strong> per chiudere tutte le finestre</li>
<li>Godiamoci una navigazione priva di pubblicità <img src='http://www.bittrack.it/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<p><a href="http://www.bittrack.it/wp-content/uploads/2009/10/privoxy1.jpg"><img class="alignnone size-medium wp-image-629" title="privoxy" src="http://www.bittrack.it/wp-content/uploads/2009/10/privoxy1-556x600.jpg" alt="privoxy" width="556" height="600" /></a></p>
<h2>Conclusioni</h2>
<p>Privoxy è sicuramente una buona soluzione, riconosce e blocca un gran numero di elementi pubblicitari, ma aggiungerne di nuovi non è una cosa semplice, data la complessità del file di configurazione, quando invece con AdBlock Plus basterebbero pochi click.</p>
<p>Va però sottolineato che Privoxy, in compenso, funziona <strong>su tutti i Browser</strong>.</p>


<p>Articoli correlati:<ol><li><a href='http://www.bittrack.it/archives/rimuovere-i-link-al-music-store-in-itunes-9/' rel='bookmark' title='Permanent Link: Rimuovere i link al Music Store in iTunes 9'>Rimuovere i link al Music Store in iTunes 9</a></li>
<li><a href='http://www.bittrack.it/archives/sostituire-i-font-con-cufon/' rel='bookmark' title='Permanent Link: Sostituire i font con Cufón'>Sostituire i font con Cufón</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.bittrack.it/archives/rimuovere-la-pubblicita-su-qualsiasi-browser-con-privoxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
