2011-10-14 12 views
6

Ho convertito un file SWF Flash in HTML5 utilizzando Google Swiffy.Errore di conversione swiffy (da Flash a HTML5)

Questo funziona bene in Firefox.

Tuttavia, in IE8, sto ricevendo questi errori:

'Swiffy' non è definito

'stadio' è null o non un oggetto

In IE, se si visita il Google Swiffy gallery section (http://www.google.com/doubleclick/studio/swiffy/gallery.html), e clicca su uno degli esempi, riceverai errori simili (o, almeno, lo faccio). Quindi forse questo è un problema esistente.

Contatterò anche Google per verificare se esiste una soluzione a questo problema.

Ecco uno snippet del codice.

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Swiffy output</title> 
<script src="http://www.gstatic.com/swiffy/v3.5/runtime.js"></script> 
<script>swiffyobject = {"tags": 
[{"id":1,"height":194,"width":609,"data":"data:image/jpeg; 
base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkS 

...there's a lot of converted code, most of it looks like the gibberish above... 

</script> 
</head> 
<body style="overflow:hidden;margin:0;"> 

<script>var stage = new swiffy.Stage(document.body, swiffyobject);</script> 
<script>stage.start();</script> 

</body> 
</html> 

Ho iniziato a convertire il file Flash codificandolo da solo con Canvas. Probabilmente continuerò con questo. Mi sono appena fatto pressione per avere il tempo per farlo e vorrei che questi errori venissero risolti.

Grazie.

Stephen

(a proposito, posso allegare un file? Il codice è davvero lungo.)

risposta

3

Questo perché HTML5 Canvas non è supportato in IE8

è possibile utilizzare la libreria excanvas ma è orribile con l'animazione. excanvas utilizza VML per emulare i comandi canvas e fa finta che funzioni su IE7/8

excanvas non è stato aggiornato dal 2009 e mi raccomando davvero di non supportare IE8 se si desidera utilizzare Canvas. È possibile che una soluzione SVG/VML sia migliore, a seconda di cosa stai facendo.

1

Questa è la soluzione: Scaricare swfobject.js e conservare questo file nella cartella "script".

inserire questo codice nella sezione di intestazione:

<script type="text/javascript" src="http://www.mysite.com/scripts/swfobject.js"></script> 

nel file di Swiffy mettere questo (muggito sceneggiatura Swiffy):

<script type="text/javascript">swfobject.embedSWF("http://www.mysite.com/flash_files/myflash.swf", "swiffycontainer", "638", "500", "8.0.0", "myflash.swf", {}, {menu:"false", scale:"noscale", wmode:"transparent"}, {}); </script> 
+0

Ho completato questo progetto l'anno scorso e non ho più i file con cui lavorare. Mi sarebbe piaciuto provare questa soluzione. Grazie comunque. – user282648

1

Le suddette (utilizzando swfobject.js) è una buona soluzione! Fondamentalmente utilizzare il swf in Flash supportato env e HTML fallback in caso di altri.

+0

sarai in grado di commentare le risposte dopo aver ottenuto un numero sufficiente di ripetizioni :-) – kleopatra