Flash Tag Object

Trata-se de um arquivo em JavaScript, pequeno e leve, para facilitar a inserção de arquivos SWF nas páginas HTML. Também é uma ótima solução para o problema do ActiveX Content Restriction que a Microsoft lançou em uma atualização para o IE.

Download e Utilização

Para baixar o arquivo clique aqui (5 kb).

Exemplos

Primeiro você deve carregar o arquivo flash.js em seu html: ... <head> <title>Sua Página</title> ... <script type="text/javascript" src="flash.js"></script> ... </head> ...

Depois você deve analizar seu código normal do SWF, normalmente com a tag OBJECT e EMBED: <object ... width="200" height="100" id="TesteSWF" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="TesteSWF.swf" /> <param name="quality" value="high" /> <param name="bgcolor" value="#ffffff" /> <embed src="TesteSWF.swf" quality="high" bgcolor="#ffffff" width="200" height="100" name="TesteSWF" align="middle" allowScriptAccess="sameDomain" ... /> </object>
O que deve ser analizado principalmente são os parametros e atributos inicias: movie, id[opcional], largura(width), altura(height). Logo: <script type="text/javascript"> <!-- var teste = new Flash("TesteSWF.swf", "TesteSWF", "200", "100"); teste.write(); //--> </script>
Ou ainda com um alvo pré-definido, por exemplo em uma DIV com ID: ... <div id="conteudo_swf"> O Conteudo vai aqui... </div> ... <script type="text/javascript"> <!-- var teste = new Flash("TesteSWF.swf", "TesteSWF", "200", "100"); teste.writeIn("conteudo_swf"); //--> </script>

OBJECTs com mais parametros:

É possível trabalhar com os Objects SWF em uma página, de maneira em que o mesmo vá precisar de muitos parametros, os mais usados são fundo transparent(wmode=transparent) e desabilitar o menu do botão direito(showMenu=false), exemplo: <object ... > ... <param name="wmode" value="transparent" /> <param name="showMenu" value="false" /> ... </object>
Com o Flash Tag Object ficaria assim: <script type="text/javascript"> <!-- var teste = new Flash("TesteSWF.swf", "TesteSWF", "200", "100"); //parametros aqui... teste.addParameter("wmode", "transparent"); teste.addParameter("showMenu", "false"); teste.write(); //--> </script>
Ou ainda de uma maneira mais fácil e prática, se for uma inserção mais comum, é possível fazer em apenas uma linha: new Flash("TesteSWF.swf", "TesteSWF", "200", "100", {wmode: "transparent", showMenu: "false"}).write();
Veja um exemplo on-line aqui

Referência de Funções:

Constructor:

var varname = new Flash(src:String, id:String[null], width:Number|String, height:Number|String, [initParameters:Object]);

Methods:

FlashInstance.addParameter(name:String, value:String);
FlashInstance.addAttribute(name:String, value:String);
FlashInstance.addVariable(name:String, value:String);

Example:

... <param name="flashVars" value="cor=Vermelho&idioma=pt" /> ... Fica assim: var teste = new Flash("TesteSWF.swf", "TesteSWF", "200", "100"); //parametros aqui... teste.addVariable("cor", "Vermelho"); teste.addVariable("idioma", "pt"); teste.write();

FlashInstance.write();
FlashInstance.writeIn(id:String|DOM Object);
FlashInstance.getObject();
Para visualiza um exemplo do método getObject clique aqui.


static Flash.automatic(asynchronous:Boolean);

Example:

Se você não quer trocar todo seu código html (tags object) por javascript, exite um método que faz isso tudo automático pra você: <script type="text/javascript"> <!-- Flash.automatic(false); //--> </script>
Para visualiza um exemplo do método automático clique aqui.

Flash Tag Object - http://www.lucasferreira.com/ - by Lucas Ferreira