Trabalhando com SWFObject

SWFObject é uma API em Javascript para inserir aquivos swf(Flash) no HTML, simples de usar e deixa o código HTML super limpo.

Se você quer saber mais informações sobre o SWFObject acesse: http://code.google.com/p/swfobject/(inglês).

Algumas características legais do SWFObject são :

  • Fácil de usar
  • Obtém informações sobre o swf
  • É um projeto Open Source
  • Utiliza um pequeno arquivo JavaScript de 9.5Kb
  • Detectar a versão do flash player.

Tem duas formas de adicionar o arquivo .swf no seu arquivo HTML. Uma via tags html e a segunda via javascript.  Vou Mostrar as duas formas a seguir mais antes precisamos baixar o swfobject 2.0 em, http://swfobject.googlecode.com/files/swfobject_2_1.zip.

Baixe o arquivo zip, e descompacte na pasta que junto ao arquivo HTML.

Por exemplo:

Então eu tenho os seguintes arquivos necessário para o tutorial:

  • A index.html – o arquivo que vou abrir o arquivo swf
  • meu_swf.swf – o swf que será inserido no html
  • swfobject.js – o próprio.
  • expressInstall.swf – o arquivo que ajudará o usuário instalar a versão atual do flash player caso não tenha.

Utilizando o swfobject com tags html fica da seguinte forma:

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>Exemplo SWFObject</title>
 
 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <!-- importamos a biblioteca do swfobject -->
    <script type="text/javascript" src="swfobject.js"></script>
     <!-- Registramos nosso conteúdo, e passamos os seguintes parâmetros: o primeiro é o id do object
ele tem que ser único("idAlvo"), segundo a versão do flash player e por fim o conteúdo alternativo se caso o usuário tiver uma versão do flash player mais antiga será exibido o express Install da adobe que permito o usuário baixar a ultima versão do flash player diretamente na página, esse último atributo é opcional -->
    <script type="text/javascript">
    swfobject.registerObject("idAlvo", "9.0.0", "expressInstall.swf");
    </script>
 
  </head>
  <body>
    <div>
     <!-- no object passamos o id, lembrando que ele tem que ser único,  o classid, a largura e a altura do objeto esse valores podem ser passados em pixel ou %, dentro do object passamos o parâmetro name que se refere ao nome do objeto e por fim fim uma condicional caso esteja utilizando IE -->
 
      <object id="idAlvo" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="780" height="420">
 
        <param name="movie" value="meu_swf.swf" />
        <!--[if !IE]>-->
        <object type="application/x-shockwave-flash" data="meu_swf.swf" width="780" height="420">
        <!--<![endif]-->
          <p>Alternative content</p>
        <!--[if !IE]>-->
        </object>
        <!--<![endif]-->
      </object>
    </div>
  </body>
</html>

Agora vamos dar uma olhada como utilizar SWFobject dinâmicamente. É bem parecido com o exemplo anterior.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  <head>
    <title>Exemplo SWFObject dinâmicamente</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 
    <script type="text/javascript" src="swfobject.js"></script>
 
    <script type="text/javascript">
    swfobject.embedSWF("meu_swf.swf", "idAlvo", "300", "120", "9.0.0");
    </script>
 
  </head>
  <body>
    <div id="idAlvo">
      <p>Alternative content</p>
    </div>
  </body>
</html>

Entendendo o código anterior importamos o SWFObject adicionamos um tag de script e passamos o comando “swfobject.embedSWF” para adicionar nosso arquivo swf, o parâmetros passados são:
o endereço do arquivo swf, o id da div que será incluido o swf, a largura e altura do arquivo flash e a versão do arquivo flash, além desses parâmetros tem os opcionais, expressInstall, flashvars, parâmetros e attributos.

E por fim na div dentro do que será substituída pelo conteúdo flash colocamos o conteúdo alternativo caso o usuário não tenha a ultima versão do flash player.

Uma vantagem da inclusão por tags html é que o mecanismo de busca têm maior facilidade de encontrar o conteúdo, mas as melhorias nos mecanismo de busca já estão identificando o conteúdo adicionado com javascript.

Até a próxima

Esta entrada foi publicada em Flash e marcada com a tag , , , . Adicione o link permanente aos seus favoritos.

4 respostas a Trabalhando com SWFObject

  1. Marcos_paiva disse:

    Hummmm legal pacas Fellyph.
    Comecei a usar em meus projetos agora a pouco tempo. Antes usava aquele “defult” do dreamweaver/flash cs3.

    Uma característica bem legal que eu acho que ele tem é realmente a limpeza que o codgigo fica, bem “clean” rs.
    Uma outra é a utilização das flashvars, qu ajudam no esquema de navegação “tradicional” de voltar a página anterior pelo navegador, ou entao mandar uma página específica pra alguem , etc etc etc

    Ei, podia ter um tutozinho de como utilizar essa ferramenta heim!

    flw veio!

  2. serginho disse:

    Rapaz eu tiro o chapéu para você!
    sou iniciante na atividade de webdesign, e estava procurando
    “limpar” o meu codigo html para ser validado pelo w3c, e sempre me acusava um erro no tal “embed”!
    Agora com essa técnica espero resolver o meu problema de validação com o W3C.
    Muito obrigado!

  3. Pingback: SWFobject 2.2 | Fellyph Cintra Flash Developer

  4. Aline disse:

    Utilizando o swfobject.embedSWF para passagem de parametros para o flash:

    flashvars={efeito:1};
    swfobject.embedSWF(“Principal.swf”, “myContent”, “100%”, “100%”, “9.0.0″,”",flashvars);

    e no fla:
    externo = LoaderInfo(this.root.loaderInfo).flashvars;

    foi a maneira como encontrei nos tutoriais, mas não funcionou. Alguma dica??

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">