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.
- Realidade aumentada
- Segunda, pra descontrair
- A virgula…
- Treme um site muito bom e não tem Flash
- Yslow (Porque está devagar) – Como medir performance de carregamento das páginas…
8 Comentários »
Rss dos comentários TrackBack URL
Comentário por Vinícius — 27/07/2008 @ 4:21 am
Muito bom, estava mesmo precisando saber e funcionou muito bem!
Obrigado!
Comentário por Marcelo Torres — 04/08/2008 @ 6:31 am
Ótima dica, um jeito simples e que funciona
Comentário por Web Designer Demétrios — 10/09/2008 @ 5:04 pm
Como validar um video em flash no W3C, sem ser puxando pelo youtube e sim do própro servidor. Ao adicionar o vídeo no Dreamweaver ele gera o segmente código:
AC_FL_RunContent( ‘codebase’,’http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0','width','500','height','376','id','FLVPlayer','src','FLVPlayer_Progressive','flashvars','&MM_ComponentVersion=1&skinName=Clear_Skin_3&streamName=videos/garanhao-ajax-arete&autoPlay=false&autoRewind=false','quality','high','scale','noscale','name','FLVPlayer','salign','lt','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','FLVPlayer_Progressive‘ ); //end AC code
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”
Comentário por Diego Sousa — 01/12/2009 @ 7:53 am
Valew mesmo, o jeito é simples mas funciona
Até mais..
Comentário por Thiago — 24/03/2010 @ 11:04 pm
ótimo, obrigado msm!
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.
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.