Rogério Lino

Flash: Tag Object

Posted by: Rogério Alencar Lino Filho on: 1 Fevereiro, 2007

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″ 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” />
</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 Respostas para "Flash: Tag Object"

Olá,

Bom tutorial. No entanto ao dar o caminho do swf tão explicitamente, será facil, para aqueles que querem encontrar a source, fazer o o seu download e decompilarem-na com tools que andam na web. Penso que deverá existir outra forma de declarar a root do mc swf.

M.Cumptos.
Carlos Pinho
http://flashenabled.wordpress.com

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.

isto e td uma treta pah

Deixe uma Resposta

Categorias