2010-06-24 8 views
0

Je possède ce code existant qui intègre un fichier SWF dans un HTML en utilisant une ancienne version de swfobject.js:Comment migrer le code d'appel SWFObject?

var so = new SWFObject("main.swf", "main", "100%", "615", "9.0.115", "#000000"); 
so.addVariable("deeplink", deeplink); 
so.addVariable("cid", cid); 
so.addParam("scaleMode", "noscale"); 
so.addParam("allowScriptAccess", "always"); 
so.addParam("allowFullScreen", "true"); 
so.write("flashcontent"); 

Comment dois-je réécrire les dernières swfobject.js? Je l'ai essayé, mais a échoué, et je voudrais exclure la syntaxe non-concordance première:

var mainSwfProperties = { 
    flashVars : { 
     cid : cid, 
     deeplink : deeplink 
    }, 
    params : { 
     allowFullScreen : "true", 
     allowScriptAccess : "true", 
     scaleMode : "noscale", 
     wmode : "window" 
    }, 
    attributes : {} 
}; 
swfobject.embedSWF("main.swf", "flashcontent", "100%", 615, "9.0.115", null, 
    mainSwfProperties.flashVars, 
    mainSwfProperties.params, 
    mainSwfProperties.attributes 
); 

Répondre

1

Eh bien, je pense certainement que cela fonctionnerait. Fondamentalement, les flashvars, params et attributs doivent être des objets js. Je les laisse habituellement comme des objets séparés plutôt que d'avoir un seul objet comme vous l'avez fait.

<script type="text/javascript"> 
    var flashvars = {cid:cid, deeplink:deeplink}; 
    var params = {allowFullScreen:true, allowScriptAccess:true, scaleMode:"noscale", wmode:"window"}; 
    var attributes = {} 
    swfobject.embedSWF("main.swf", "flashcontent", "100%", "615", "9.0.115", null, flashvars, params, attributes); 
</script> 
0

également des swfobject docs, il attend la largeur et la hauteur à cordes, vous avez la hauteur comme int il.

+0

la version bêta de SWFObject 2.3 corrige ce https://github.com/swfobject/swfobject – pipwerks