Flash validado pelo W3C

Buenas, assiduos leitores de de vez em quando….

Boa parte de quem desenvolve interface HTML e se preocupa com a validação do código já se deparou com um problema grave: Minha página precisa conter um arquivo em flash, um vídeo do You Tube, porém isso deixa o código impossível de ser validado. Não mais… Eu lhes trago a solução pra isso.

Há duas maneiras de se fazer isso, um por Javascript, onde você inclue o código na página através de um innerHTML, ou através de um código mais suscinto. Abaixo mostro as três maneiras de se por o código.

A gerada pelo flash e o Youtube, porém errada.

<object>
<param name="movie" value="http://www.youtube.com/v/izSOrOmxRgE"></param>
<param name="wmode" value="transparent"> </param>
<embed src="http://www.youtube.com/v/izSOrOmxRgE" type="application/x-shockwave-flash" wmode="transparent" width="390" height="321"> </embed>
</object>

A Gerada por innerHTML

function iniciaFlash(){
var flash = “<object id=’imgflash’ width=’514′ height=’250′ align=’middle’ codebase=’http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0′ classid=’clsid:d27cdb6e-ae6d-11cf-96b8-444553540000′>”+
“        <param value=’sameDomain’ name=’allowScriptAccess’/>”+
“        <param value=’images/imgflash.swf’ name=’movie’/>”+
“        <param value=’high’ name=’quality’/>”+
“        <param value=’#324b2e’ name=’bgcolor’/>”+
“        <param value=’transparent’ name=’wmode’/>”+
“        <embed width=’514′ height=’250′ align=’middle’ pluginspage=’http://www.macromedia.com/go/getflashplayer’ type=’application/x-shockwave-flash’ allowscriptaccess=’sameDomain’ name=’imgflash’ bgcolor=’#324b2e’ quality=’high’ src=’images/imgflash.swf’/>”+
“</object>”
document.getElementById(”imagensflash”).innerHTML = flash;
}

Dentro da função iniciaFlash, crio uma variável com os dados do flash e incluo dentro da div que tem o id “imagensflash”.

Após isso inicio a função dentro do onload do body.

<body onLoad=”iniciaFlash()”>

E a mais simples e talvez a melhor.

<object type=”application/x-shockwave-flash” data=”arquivo.swf” width=”390” height=”321“>
<param name=”movie” value=”arquivo.swf” />
</object>

Agora você pode escolher a que melhor se encaixar no seu projeto.

Abraços e até o próximo Post.

  1. Realidade aumentada
  2. Segunda, pra descontrair
  3. A virgula…
  4. Treme um site muito bom e não tem Flash
  5. Yslow (Porque está devagar) – Como medir performance de carregamento das páginas…



8 Comentários »

  1. Comentário por Vinícius — 27/07/2008 @ 4:21 am

    Muito bom, estava mesmo precisando saber e funcionou muito bem!
    Obrigado!

  2. Comentário por Marcelo Torres — 04/08/2008 @ 6:31 am

    Ótima dica, um jeito simples e que funciona

  3. Comentário por Leandro Garcia — 10/09/2008 @ 5:28 pm

    Evite adicionar vídeos através do botão do dreamweaver, ele costuma fazer esse tipo de coisa.

    Prefira incluir via código, ou seja utilize:

    < obj ect type="applicat ion/x-shockwave-flash" data="arquivo.swf" width="390" height="321" >
    < param name="movie" value="arquivo.swf" / >
    < /object>

    Onde em arquivo.swl você coloca o caminho do vídeo, ex. “../flash/animacao.swf”

  4. Comentário por Diego Sousa — 01/12/2009 @ 7:53 am

    Valew mesmo, o jeito é simples mas funciona
    Até mais..

  5. Comentário por Thiago — 24/03/2010 @ 11:04 pm

    ótimo, obrigado msm!

  6. Comentário por Bitetti — 21/03/2011 @ 1:31 pm

    Fala Leandro!
    Com o HTML5 a tag embed não foi removida.
    Eu prefiro a object mas como embed não foi removido será que não se pode conciderar lícito o uso da sintaxe com embed?

    Tem uma segunda maneira usando uns IFs na HTML (coisa da Micro$oft e do IE) mas essa eu já acho errado pois tem cara de gambiarra.

  7. Comentário por leandro garcia — 20/05/2011 @ 1:52 pm

    Não é ilícito usar o embed, não é e penso que não será. O W3C Sugere que não usemos por deixar o código mais semântico, ou seja, melhor apresentável para os buscadores e para os deficientes. Mas nada impede de se usar, é apenas uma boa prática. Em relação ao HTML5, devemos ainda ter cuidado ao usá-lo, pois dependendo do público do site a experiência do usuário pode são ser agradável.

Rss dos comentários TrackBack URL

Deixe um comentário