Exemplos do SWFObject
O exemplo acima exposto é o necessário para o uso mÃnimo do SWFObject, mas, se você deseja usar outros parâmetros suportados pelo plug-in do Flash, o SWFObject facilita seu trabalho. Os exemplos abaixo mostram vários métodos diferentes que você pode desejar para inserir seu conteúdo em Flash.
Um exemplo simples de adição de parâmetros extras:
<script type=”text/javascript”> var so = new SWFObject(“movie.swf”, “mymovie”, “200″, “100%”, “7″, “#336699″); so.addParam(“quality”, “low”); so.addParam(“wmode”, “transparent”); so.addParam(“salign”, “t”); so.write(“flashcontent”); </script>
Aqui está uma lista completa dos parâmetros atuais e seus possÃveis valores da macromedia.com.
Passando variáveis para seus filmes usando parâmetros “Flashvarsâ€
O uso de Flashvars é o modo mais fácil de pegar dados do HTML dentro do filme Flash, mas os dados são passados só uma vez, assim que o filme carrega. Normalmente, você adicionaria um parâmetro chamado “flashvars†e, para o valor, passaria uma string de pares nome/valor como esta: variavel1=valor1&variavel2=valor2&variavel3=valor3 e assim por diante. O SWFObject facilita isso, permitindo que sejam adicionadas tantas variáveis quanto você deseja, num modo similar ao que você usaria para passar parâmetros adicionais. Aqui está um exemplo de como passar valores para o seu filme Flash usando Flashvars:
<script type=”text/javascript”> var so = new SWFObject(“movie.swf”, “mymovie”, “200″, “100″, “7″, “#336699″); so.addVariable(“variavel1″, “valor1″); so.addVariable(“variavel2″, “valor2″); so.addVariable(“variavel3″, “valor3″); so.write(“flashcontent”); </script>
Fazendo isso, todas as variáveis que você passar estarão imediatamente disponÃveis dentro do seu filme em Flash, na linha de tempo _root.
O script SWFObject também tem uma função extra que lhe permite buscar variáveis da URL. Por exemplo, suponha que você tenha a seguinte URL: http://www.example.com/page.html?variavel1=valor1&variavel2=valor2. Usando a função getQueryParamValue(), você pode facilmente pegar esses valores da URL e passá-los ao seu filme em Flash. Aqui está um exemplo para a supracitada URL:
<script type=”text/javascript”> var so = new SWFObject(“movie.swf”, “mymovie”, “200″, “100″, “7″, “#336699″); so.addVariable(“variavel1″, getQueryParamValue(“variavel1″)); so.addVariable(“variavel2″, getQueryParamValue(“variavel2″)); so.write(“flashcontent”); </script>
A função
getQueryParamValue()
também suporta a leitura de variáveis do
location.hash
, que às vezes são usadas para criar links profundos (deep links) para as suas aplicações Flash. Um exemplo de como criar links profundos para seus filmes Flash usando location.hash, veja este exemplo do Slideshow Pro, que usa inserção via SWFObject.
Usando o ExpressInstall
O SWFObject tem suporte completo ao recurso Macromedia Flash Player Express Install. Junto com o script SWFObject existe um arquivo actionscript que funciona com o SWFObject, para dar inÃcio a um processo de atualização de plug-in nos seus filmes Flash. Seus usuários nunca terão que deixar seu site para atualizar seus players, e quando a atualização estiver completa, eles serão redirecionados de volta à página que iniciou a atualização.
Para usar o ExpressInstall, você precisa primeiro incluir o arquivo expressinstall.as no seu .fla e, no inÃcio do seu filme, fazer uma simples checagem para ver se o plug-in do usuário precisa ser atualizado:
#include "expressinstall.as"var ExpressInstall = new ExpressInstall();
// se o usuario precisa ser atualizado, mostra o botao “iniciar atualizacaoâ€
if (ExpressInstall.needsUpdate) {
// isto eh opcional, vc pode tambem iniciar a atualizacao automaticamente,
// chamando ExpressInstall.init() aqui, ao inves das seguintes linhas
// anexa a msg personalizada de atualizacao, centralizada
var upgradeMsg = attachMovie("upgradeMsg_src", "upgradeMsg", 1);
upgradeMsg._x = Stage.width / 2;
upgradeMsg._y = Stage.height / 2;
// anexa as acoes de botao q iniciarao o atualizador ExpresInstall
upgradeMsg.upgradeBtn.onRelease = function() {
// este metodo eh o q dah inicio a atualizacao
ExpressInstall.init();
}
// se o expressinstall foi invocado, para a linha do tempo
stop();
}
É importante não colocar nenhum conteúdo no primeiro quadro (ou onde a checagem do ExpressInstall acontecer) que exija o Flash Player 7 ou superior.
Para um exemplo “ao vivo†deste código, abra o arquivo source/so_tester.fla incluÃdo no arquivo SWFObject.zip. Ou, se você deseja ver o ExpressInstall em funcionamento, instale o Flash Player 7* (ou 6.0.65 adiante) e visite esta página.
* Se você já tem o plug-in Flash Player mais atual, e deseja testar o ExpressInstall (ou se deseja testar seu filme Flash em outras versões de plug-in), você precisa desinstalar seu plug-in atual e, em seguida, instalar a versão apropriada.
Se o seu filme Flash é uma janela popup, ou se você deseja redirecionar o usuário para um local diferente depois que a atualização ExpressInstall terminar, use o atributo xiRedirectUrl.
Â
<script type="text/javascript">
var so = new SWFObject("movie.swf", "mymovie", "200", "100", "8", "#336699", true);
so.setAttribute('xiRedirectUrl', 'http://www.example.com/upgradefinished.html'); // precisa ser uma URL absoluta para o seu site
so.write("flashcontent");
</script>
Download
O SWFObject está liberado sobre a licença MIT. Isso significa (basicamente) que você pode usá-lo para qualquer coisa que você desejar, sem restrições.
Baixe o SWFObject 1.4 – Arquivo zip, incluindo swfobject.js e os modelos html abaixo.
Ou, se preferir, veja minhas páginas de exemplo:
- Inserção padrão de Flash – Sem frescuras, apenas um filme Flash na página com uma variável sendo passada. Válido como XHTML 1.0 Scrict*.
- Inserção de Flash com 100% de largura e altura – Você tem problemas em fazer seu filme Flash preencher toda a tela? Tente esse modelo. Válido como XHTML 1.0 Scrict*.
- Inserção padrão de Flash com ExpressInstall ativado – Essa página tentará atualizar o seu Flash player se você tiver uma versão menor do que a 8 (é necessário pelo menos a versão 6.0.65).
* Páginas enviadas como text/html, e não application/xhtml+xml.
Assine também a lista de discussão do SWFObject. Ela tem como objetivo responder questões sobre problemas que você possa ter enquanto usa o SWFObject, ou para solicitar e discutir novos recursos.
Â
Â
Â
Retweet this post


