Flash: Tag Object

Depois do swf gerado é hora de colocá-lo no HTML. No próprio Flash ao apertar o F12 ele publica o filme e já cria um HTML. Tudo muito bom, se não fosse pelo código gerado, muito sujo e não é validado pela W3C.

O código gerado é igual a este:

<object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ codebase=”http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&#8243; width=”550″ height=”400″ id=”Untitled-1″ align=”middle”>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”movie” value=”filme.swf” />
<param name=”quality” value=”high” />
<param name=”bgcolor” value=”#ffffff” />
<embed src=”filme.swf” quality=”high” bgcolor=”#ffffff” width=”550″ height=”400″ name=”Untitled-1″ align=”middle” allowScriptAccess=”sameDomain” type=”application/x-shockwave-flash” pluginspage=”http://www.macromedia.com/go/getflashplayer&#8221; />
</object>

O problema em sí não está na tag object e sim na embed que não é reconhecida pela W3C. Beleza, então eu tiro a tag embed e está tudo certo? Errado.

Primeiramente vamos conhecer mais sobre a tag Object.

A tag object serve para anexar à página algum dos três tipos de dados (objects, images and applets), mas para alguns existe uma tag mais adequada, como por exemplo uma imagem.

The OBJECT element allows authors to specify all three types of data, but authors may not have to specify all three at once. For example, some objects may not require data (e.g., a self-contained applet that performs a small animation). Others may not require run-time initialization. Still others may not require additional implementation information, i.e., the user agent itself may already know how to render that type of data (e.g., GIF images).

link: http://www.w3.org/TR/html4/struct/objects.html#edef-OBJECT

Então respondendo a pergunta acima a tag object sem a embed não irá funcionar, a não ser que o atributo type (que no código acima você percebe que ele está na embed) esteja definido adequadamente. E também seja colocado o atributo data (que funciona igual ao href).

Resulmindo o código acima ficaria assim:

<object type=”application/x-shockwave-flash” data=”filme.swf” width=”550″ height=”400″>
<param name=”allowScriptAccess” value=”sameDomain” />
<param name=”movie” value=”filme.swf” />
<param name=”quality” value=”high” />
<param name=”bgcolor” value=”#ffffff” />
</object>

Pois então com o exemplo acima, além de validar sua página o código fica mais limpo e enxuto.

Mais sobre:

http://www.maujor.com/tutorial/adeus-embed.php

4 thoughts on “Flash: Tag Object

  1. Rogério Alencar Lino Filho Post author

    Esconder um swf do usuário é impossível, você pode dificultar. Mas nunca irá conseguir escondê-lo de uma forma que o visitante não terá acesso. A não ser se realmente ele não tiver acesso =] .

    Isso devido que o swf é baixado para o computador indo para a pasta dos arquivos temporários (cache).

    Se você quizer ocultar no código html pode usar Javascript.

    Mas continuo afirmando que nunca seu swf estará seguro.

    Responder
  2. Pingback: Blog HotSync » Dica de blog

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s