<?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>daniele rollo &#187; cross-browser</title>
	<atom:link href="http://www.danielerollo.com/tag/cross-browser/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.danielerollo.com</link>
	<description>Produzioni multimediali, interfacce, design</description>
	<lastBuildDate>Tue, 13 Dec 2011 15:49:41 +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>Inserire un filmato SWF (Flash) in una pagina Html con javascript: SWFObject</title>
		<link>http://www.danielerollo.com/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/</link>
		<comments>http://www.danielerollo.com/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 10:20:24 +0000</pubDate>
		<dc:creator>daniele</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesigner]]></category>
		<category><![CDATA[cross-browser]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[filmato]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[ufo]]></category>

		<guid isPermaLink="false">http://www.danielerollo.com/2008/02/26/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/</guid>
		<description><![CDATA[Utilizzare SWFObject al posto dei tag OBJECT ed EMBED: ancora un metodo che sfrutta javascript e il dom per pubblicare filmati swf in una pagina html. <a href="http://www.danielerollo.com/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Abbiamo già visto <a href="http://www.danielerollo.com/2008/02/13/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/">in questo post</a> come utilizzare Unobtrusive Flash Object (ufo.js) per pubblicare un filmato flash swf all&#8217;interno di una pagina html. Un altra via per evitare i problemi legati ai tag OBJECT ed EMBED, è usare il file javascript  SWFobject.<br />
Anche questa tecnica si basa sull&#8217;uso del DOM: creeremo un elemento DIV, quindi, il cui contenuto sarà sostituito da javascript con il filmato flash che specificheremo.<br />
E&#8217; possibile <a href="http://blog.deconcept.com/swfobject/">scaricare swfobject qui</a>.<br />
Il funzionamento di swfobject.js è molto semplice.<br />
E&#8217; necessario innanzitutto includere lo script all&#8217;interno dell&#8217;Head nella pagina Html. Quindi:</p>
<pre><code>&lt;script type="text/javascript" src="swfobject.js"&gt;&lt;/script&gt;</code></pre>
<p>A questo punto, come nel caso di UFO, si imposta il div contenitore: il testo presente all&#8217;interno di quest&#8217;ultimo sarà visualizzato in tutti i casi in cui, per qualsiasi motivo, javascript non sarà in grado di inserire il player, ma possiamo essere abbastanza sicuri che ciò avverrà solo se non è installato il plugin. Proprio per questo motivo il testo che inseriremo in questo div farà riferimento al plugin mancante:</p>
<pre><code>&lt;div id="swfcontent"&gt;
Non è possibile visualizzare il filmato.&lt;br/&gt;
Potrebbe essere necessario installare il plugin flash.&lt;br/&gt;
Puoi scaricarlo &lt;a href="http://www.adobe.com/shockwave/download/download.cgi"&gt;qui&lt;/a&gt;
&lt;/div&gt;</code></pre>
<p>A questo punto possiamo ordinare a SWF Object di sostituire il contenuto del div &#8220;swfcontent&#8221; con il filmato che noi specificheremo, in questo modo:</p>
<pre><code>&lt;script type="text/javascript"&gt;
   var so = new SWFObject("mymovie.swf", "mymovie", "400", "200", "8", "#336699");
   so.write("swfcontent");
&lt;/script&gt;</code></pre>
<p>Evidentemente anche  SWFOBJECT  prevede <strong>parametri obbligatori</strong>: il percorso del file swf, l&#8217;ID univoco da assegnare all&#8217;oggetto multimediale che verrà creato, larghezza e altezza, la versione di flash player necessaria per visualizzare il file swf, e il colore di sfondo del filmato. </p>
<p>Ovviamente è possibile passare al file swf  variabili flashvars, in questo modo:</p>
<pre><code>so.addVariable("variable1", "value1");</code></pre>
<p>Mentre la funzione <strong>getQueryParamValue</strong> permette inoltre di passare al filmato flash il contenuto di una variabile presente nell&#8217;url:</p>
<pre><code>so.addVariable("varName2", getQueryParamValue("GetVarName"));</code></pre>
<p>Per concludere ecco il codice completo per pubblicare contenuto flash utilizzando SWFOBJECT, supponendo che il file .swf si trovi nella stessa cartella del file html,:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"&gt;
&lt;head&gt;
&lt;title&gt;SWFobject | pagina esempio&lt;/title&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;
&lt;script type="text/javascript" src="swfobject.js"&gt;&lt;/script&gt;
&lt;/head&gt;
  &lt;body&gt;
    &lt;div id="swfcontent"&gt;
Non è possibile visualizzare il filmato. Potrebbe essere necessario installare il plugin flash, puoi scaricarlo &lt;a href="http://www.adobe.com/shockwave/download/download.cgi"&gt;qui&lt;/a&gt;
    &lt;/div&gt;

&lt;script type="text/javascript"&gt;
   var so = new SWFObject("mymovie.swf", "swfcontent", "400", "200", "8", "#336699");
// aggiungiamo righe come la seguente se vogliamo passare variabili al file swf
   so.addVariable("varName", "Var Content"); 
// aggiungiamo righe come la seguente per utilizzare variabili presenti nell'url
   so.addVariable("varName2", getQueryParamValue("GetVarName")); 
   so.write("flashcontent");
&lt;/script&gt;


  &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>Link:<br />
La pagina di <a href="http://blog.deconcept.com/swfobject/">SWFobject</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danielerollo.com/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Inserire correttamente un filmato SWF (Flash) in una pagina Html utilizzando javascript: UFO</title>
		<link>http://www.danielerollo.com/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/</link>
		<comments>http://www.danielerollo.com/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 07:20:32 +0000</pubDate>
		<dc:creator>daniele</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Webdesigner]]></category>
		<category><![CDATA[cross-browser]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[filmato]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[standard]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swfobject]]></category>
		<category><![CDATA[ufo]]></category>
		<category><![CDATA[ufo-deprecated]]></category>

		<guid isPermaLink="false">http://www.danielerollo.com/2008/02/13/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/</guid>
		<description><![CDATA[Inserire correttamente un filmato SWF (Flash) in una pagina Html: rinunciare ai tag OBJECT ed EMBED a favore di javascript e DOM: come funziona lo script UFO. <a href="http://www.danielerollo.com/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Il modo <em>tradizionale</em> per inserire un filmato SWF (quindi flash) all&#8217;interno di una pagina web è quello di usare il tag <em>object</em> assieme al tag <em>embed</em>.<br />
Poichè OBJECT è il tag che dovremmo utilizzare secondo lo standard W3C , ed  EMBED è un tag proprietario, ma supportato da molti browser, la soluzione &#8211; tendenzialmente cross-browser &#8211; per lungo tempo è stata quella di utilizzarli congiuntamente. &Egrave; la via scelta tuttora da Youtube per l&#8217;embedding dei filmati.</p>
<pre><code>&lt;object width="425" height="355"&gt;
&lt;param name="movie" 
value="http://www.youtube.com/v/KvA0nmAhTfk&amp;rel=1"&gt;&lt;/param&gt;
&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;
&lt;embed src="http://www.youtube.com/v/KvA0nmAhTfk&amp;rel=1" 
type="application/x-shockwave-flash" wmode="transparent"
width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;</code></pre>
<p>L&#8217;utilizzo di OBJECT ed EMBED pone però una serie di problemi non di poco conto: innanzitutto la pagina non è standard-compliant. Inoltre, sulle versioni meno recenti di internet explorer il filmato flash è circondato da un fatidioso riquadro che indica che il file swf non è ancora attivo: bisognerà attivarlo facendo click sul filmato.</p>
<p>Per risolvere questi problemi sarà necessario ricorrere al DOM (Document Object Model). Faremo così: creeremo un elemento div nella pagina html; il contenuto di questo div sarà rimpiazzato (per mezzo di javascript) con del codice in grado di visualizzare correttamente il filmato swf.</p>
<p>A questo scopo è possibile utilizzare due diverse library javascript: <a href="http://www.bobbyvandersluis.com/ufo/">Unobtrusive Flash Objects</a> oppure <a href="http://blog.deconcept.com/swfobject/">SWFObject</a>. In questo tutorial utilizzeremo la prima, nota come UFO. Vedremo in  un altro post <a href="http://www.danielerollo.com/2008/02/26/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/">tutte le istruzioni per SWF object</a></p>
<p>Il primo passo da compiere è quindi il <a href="http://www.bobbyvandersluis.com/ufo/ufo.js">download di UFO.js</a>.<br />
A questo punto copiamo il file ufo.js nella cartella del nostro sito e lo richiamiamo nell&#8217;HEAD della pagina web in cui il filmato swf deve essere visualizzato:</p>
<pre><code>&lt;script type="text/javascript" src="ufo.js"&gt;&lt;/script&gt;</code></pre>
<p>Nel BODY della pagina invece creeremo un  DIV, <strong>che avrà quindi ID univoco</strong>. Tutto il codice contenuto all&#8217;interno di questo DIV sarà sostituito da UFO con il filmato swf.</p>
<pre><code>&lt;div id="swfcontent"&gt;Non è possibile visualizzare il filmato. Potrebbe essere necessario installare il plugin flash, puoi scaricarlo &lt;a href="http://www.adobe.com/shockwave/download/download.cgi"&gt;qui&lt;/a&gt;&lt;/div&gt;</code></pre>
<p>Se il contenuto del div deve essere sostituito, perchè abbiamo inserito, all&#8217;interno di swfcontent, un link alla pagina del plugin flash? La risposta è semplice. Se il plugin non è installato sul browser dell&#8217;utente, UFO non riuscirà a sostituire il contenuto del div con un filmato: in questo caso l&#8217;utente visualizzerà il contenuto del div, cioè un messaggio di errore che invita ad installare il plugin.<br />
Dobbiamo comunque tenere bene a mente che teoricamente questo messaggio di errore viene visualizzato <strong>in tutti i casi </strong>in cui UFO non può funzionare: quindi anche quando il plugin è installato e tuttavia si verifica un errore che impedisce la sostituzione del contenuto del div. In realtà, se il codice è corretto, non dovrebbero verificarsi errori e il messaggio dovrebbe apparire solo se il plugin non è installato. In ogni caso, UFO rivela qui un altro vantaggio: la possibilità di inserire un contenuto alternativo che sarà visibile a tutti quelli che per un motivo o per l&#8217;altro non potranno vedere il filmato.</p>
<p>Andiamo avanti: torniamo nell&#8217;HEAD e ordiniamo a UFO di creare il contenuto flash, specificando il nome del div in cui inserirlo e un array contentente i parametri necessari alla riproduzione del filmato: nome del file swf, larghezza e altezza del filmato, majorversion (va bene la versione utilizzata per creare il filmato) e buildversion del plugin flash necessario a visualizzare il filmato. </p>
<pre><code>&lt;script type="text/javascript"&gt;
// innanzitutto impostiamo i parametri necessari
var FO = {movie:"nomedelfile.swf", width:"300", height:"120", majorversion:"6", build:"40" };
// quindi richiamiamo ufo, inviando i parametri contenuti in FO,
// e specificando l'elemento swfcontent 
UFO.create(FO, "swfcontent");
&lt;/script&gt;</code></pre>
<p>Per tutti i parametri opzionali consiglio di guardare <a href="http://www.bobbyvandersluis.com/ufo/">la documentazione di UFO</a>. Ricordo che utilizzando il parametro opzionale &#8220;flashvars&#8221; possiamo inviare variabili al filmato flash:</p>
<pre><code>var FO = {movie:"nomedelfile.swf", width:"300", height:"120", majorversion:"6", build:"40", flashvars:"firstvar=daniele&amp;secondvar=2" };</code></pre>
<p>Supponendo che ufo.js si trovi nella stessa cartella della pagina html, e invece il filmato flash sia all&#8217;interno della cartella, &#8220;swf&#8221; il codice completo per visualizzare il filmato sarà questo:</p>
<pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"&gt;
&lt;head&gt;
&lt;title&gt;UFO | pagina esempio&lt;/title&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;
&lt;script type="text/javascript" src="ufo.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
var FO = { movie:"swf/nomedelfile.swf", width:"300", height:"120", majorversion:"6", build:"40" };
UFO.create(FO, "swfcontent");
&lt;/script&gt;
&lt;/head&gt;
  &lt;body&gt;
    &lt;div id="swfcontent"&gt;
Non è possibile visualizzare il filmato. Potrebbe essere necessario installare il plugin flash, puoi scaricarlo &lt;a href="http://www.adobe.com/shockwave/download/download.cgi"&gt;qui&lt;/a
    &lt;/div&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>Link utili:<br />
<a href="http://www.danielerollo.com/2008/02/26/inserire-un-filmato-swf-flash-in-una-pagina-html-con-javascript-swfobject/">La guida ad SWFobject</a><br />
<a href="http://www.bobbyvandersluis.com/ufo/ufo.js">Download UFO.js</a><br />
<a href="http://www.bobbyvandersluis.com/ufo/">Pagina web di UFO</a><br />
<a href="http://blog.deconcept.com/swfobject/">Pagina web di SWFObject</a><br />
<a href="http://www.w3.org/DOM/">DOM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danielerollo.com/inserire-correttamente-un-filmato-swf-flash-in-una-pagina-html-utilizzando-javascript/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

