Web & Flash: risolvere tutti i problemi di compatibilità

Come spiega il titolo, in questi giorni, ho avuto qualche piccolo problema nell'embedding di oggetti flash in alcune pagine web a cui stavo lavorando.

Chiunque si sia cimentato, anche solo per poco, nel mestiere del web developer, avrà certamente incontrato problemi nel rendere uguale per tutti i browser le pagine web. Con quasi tutti i browser, le pagine vengono renderizzate in un certo modo, mentre con altri browser no (notare, non c'è la "s" del plurale :-P ). E così è anche per gli oggetti flash. Il browser appena linkato pensa bene di riconoscere l'embedd come controllo Active X, e non lo visualizza (a meno che... ma la storia si fa lunga e tortuosa). Googleggiando, ci si imbatte quasi subito in swfobject, un oggetto javascript che ci toglie le castagne dal fuoco e mette in pista in un attimo il nostro lavoro. Il codice da scrivere è veramente ridotto all'osso, vi riporto l'esempio che faceva al caso mio con l'embedd del player flash di livestream.com (una piattaforma di streaming video):

  1. Includere la libreria nel tag <head>:
    <script type="text/javascript" src="swfobject.js"></script>
  2. Creare il div che ospiterà l'oggetto flash:
    <div id="livestreamPlayer"></div>
  3. Creare l'oggetto con il codice javascript:
    <script type="text/javascript">  	flashvars = { channel: 'livestreamearth' };  	params = { AllowScriptAccess: 'always' };  	swfobject.embedSWF("http://cdn.livestream.com/chromelessPlayer/wrappers/  SPlayer.swf","livestreamPlayer", "400", "300", "9.0.0", "expressInstall.swf",  flashvars, params);  </script>

Come si può intuire la variabile flashvars conterrà le variabili di cui l'oggetto flash necessita per funzionare mentre params conterrà i settaggi flash per l'oggetto. Il primo parametro è invece il path dell'oggetto flash da embeddare, il secondo è l'id del div che lo conterrà nella nostra pagina, seguito da width e height, versione di flash richiesta e oggetto flash(fornito insieme ad swfobject) che consente di aggiornare la propria versione di flash installata sul pc.

Con questi semplici passi si otterrà il caricamente dell'oggetto flash tramite javascript, che consentirà di bypassare il blocco di alcuni browser e di eseguirlo senza problemi in tutti gli altri ;-).

Eccovi il link per scaricare lo zip contenente swfobject: http://bit.ly/3GWdi6

<script type="text/javascript" src="swfobject.js"></script>    

[ad]