Jump to content


Photo

Tag Object Para Flash


  • Faça o login para participar
9 replies to this topic

#1 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 16/04/2005, 20:15

Olá pessoal! ;)

Estes dias tava olhando no W3C Validator um erro que aparentemente não havia solução... :unsure:

Colocar um flash na página no XHTML mudou!!! :blink:

Antigamente usavasse tags Object com CLSID's... agora não é mais assim... (n)

Rodiei pelo Google, e achei a solução para o código ser validado... ;)

<object type="application/x-shockwave-flash" data="arquivo.swf" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="468" height="60">
<param name="movie" value="arquivo.swf" />
<param name="quality" value="high" /> // Low, High, AutoLow, AutoHigh, Best
</object>
O que acontece, é que em navegadores Netscape & Cia. antigos não suportava ActiveX, logo, o Flash não era exibido, pois o CLSID se refere ao ActiveX... B)

Este é o modo mais compatível de todos... (y)

Flw's, T+V! :DAté mais

#2 Perroud

Perroud

    12 Horas

  • Usuários
  • 146 posts
  • Sexo:Não informado

Posted 21/04/2005, 03:54

bééééééééééééééé! Resposta mais ou menos certa.
É possível ter um código para IE e KMOS (Konqueror-Mozilla-Opera-Safari)
O caramada Ian Hixie criou uma solução crossbrowser e decente. E logicamente, não usando <embed>, pois é deprecated (obsoleto).
Eis a solução proposta por ele. Basta olhar o código fonte, e encontrará algo mais ou menos assim:

   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" width="300" height="120">
    <param name="movie" value="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf"> 
    <param name="quality" value="high">
    <param name="bgcolor" value="#FFFFFF">
    <!--[if !IE]> <-->
    <object data="http://www.macromedia.com/shockwave/download/triggerpages_mmcom/flash.swf" width="300" height="120" type="application/x-shockwave-flash">
     <param name="quality" value="high">
     <param name="bgcolor" value="#FFFFFF">
     <param name="pluginurl" value="http://www.macromedia.com/go/getflashplayer">
     FAIL (the browser should render some flash content, not this).
    </object>
    <!--> <![endif]-->
   </object>

[]'s
Perroud

Edição feita por: Perroud, 21/04/2005, 03:56.

[]'s
Perroud

perroud[at]gmail[dot]com

#3 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 21/04/2005, 09:42

Opa.. ;)

A solução que eu disse é compatível com IE core e Mozzila core... :D Isto significa mais de 95% de todos os browsers existentes... ;) ...e está bem mais leve... :P

Flw's, T+V! :D Até mais

#4 Perroud

Perroud

    12 Horas

  • Usuários
  • 146 posts
  • Sexo:Não informado

Posted 21/04/2005, 09:58

A solução que eu disse é compatível com IE core e Mozzila core... :D Isto significa mais de 95% de todos os browsers existentes... ;) ...e está bem mais leve... :P

Infortunadamente, está errado.
Esqueça este negócio de "mais de 95%" dos browsers. O ideal é ser crossbrowser, não atender o monopólio de mercado apenas.
Seu código aponta, na tag <object>, um codebase que somente o IEca entende.
Para quem já tem o plugin, funciona. Para quem não tem, o browser não interpreta o mime-type application/x-shockwave-flash. Outro problema, é exatamente a atualização do player. Somente o IE tem o recurso de atualização automática via codebase, pois o mesmo aponta um .cab que somente o IE reconhece.


[]'s
Perroud
[]'s
Perroud

perroud[at]gmail[dot]com

#5 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 21/04/2005, 11:23

Olá! ;)

Esqueça este negócio de "mais de 95%" dos browsers. O ideal é ser crossbrowser, não atender o monopólio de mercado apenas.

Que monopólio? O core do IE e da Gecko é simplesmente usado em quase todos (senão todos) os navegadores para PC's.

Seu código aponta, na tag <object>, um codebase que somente o IEca entende.

Correto! (y) Mas usei isto apenas para os IE core entender mesmo... :)

Para quem já tem o plugin, funciona. Para quem não tem, o browser não interpreta o mime-type application/x-shockwave-flash.

Pelo contrário... o MIME type é entendido por todos navegadores, e não como o CLSID, que só o IE entende.

Outro problema, é exatamente a atualização do player. Somente o IE tem o recurso de atualização automática via codebase, pois o mesmo aponta um .cab que somente o IE reconhece.

Correto! Usei isto somente para os IE core. Pois os Gecko core como Firefox avisam ao usuário que ele não tem o plugin especificado.. ;)

Observações

Seu código não é validado no W3C Validator... (n)
Dê uma lida neste artigo: www.alistapart.com/articles/flashsatay/... ;)

Flw's, T+V! :DAté mais

#6 Perroud

Perroud

    12 Horas

  • Usuários
  • 146 posts
  • Sexo:Não informado

Posted 21/04/2005, 11:54

Olá, caro moderador.

Que monopólio? O core do IE e da Gecko é simplesmente usado em quase todos (senão todos) os navegadores para PC's.


Que monopólio? Ora, IE atinge algo em torno de 90% do mercado :)
Volto a bater na tecla que atender a maioria do "mercado" não é suficiente. É necessário que seja crossbrowser.

Pelo contrário... o MIME type é entendido por todos navegadores, e não como o CLSID, que só o IE entende.


Faça um teste. Desinstale o plugin do Flash no Opera, por exemplo, e rode o seu código :P
O mime type não é interpretado pelo navegador, se necessita de um plugin e a URI para instalação não é explícita. Portanto, é fácil chegar a conclusão de que seu código ajuda somente o IE. Logo, não é crossbrowser.

Seu código não é validado no W3C Validator...


É sim, veja.
Até usando XHTML, valida ;)

Dê uma lida neste artigo...


Já conheço :)
Mas o alistapart, embora seja excelente como referência, tem umas coisas estranhas. Já leu o artigo sobre PNG 32bit no IE?
Particularmente, existem outras soluções bem mais bacanas. Citei apenas um exemplo.

[]'s
Perroud
[]'s
Perroud

perroud[at]gmail[dot]com

#7 Perroud

Perroud

    12 Horas

  • Usuários
  • 146 posts
  • Sexo:Não informado

Posted 21/04/2005, 12:12

Acabei de ver que o código citado como exemplo, não valida como XHTML.
Para validar como XHTML 1.0 ou 1.1 (Transitional ou Strict), basta fazer isto:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#v..."
width="400px" height="300px">
<param name="movie"
value="http://www.website.com/arquivo.swf"/>
<param name="quality" value="high" />
<param name="menu" value="false" />
<!--[if !IE]><-->
<object
data="http://www.website.com/arquivo.swf"
width="400px" height="300px" type="application/x-shockwave-flash">
<param name="movie"
value="http://www.website.com/arquivo.swf"/>
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="pluginurl"
value="http://www.macromedia.com/go/getflashplayer" />
</object>
<!--><![endif]-->
</object>

Crossbrowser, funcional e valida na W3C com qualquer DOCTYPE. Espero ter ajudado.


[]'s
Perroud
[]'s
Perroud

perroud[at]gmail[dot]com

#8 Rehzus

Rehzus

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado

Posted 25/05/2005, 12:23

Andei percebendo que incluindo esses objetos de forma validável costuma a gerar bugs inesperados nas animações do flashs...

Onde a única saída era usar o embed...
Geralmente esse bugs ocorriam com loading ou coisas do tipo....
É lamentável...
"A imaginação é muito mais importante que o conhecimento" (Albert Einstein)

#9 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 25/05/2005, 13:06

Flash SUX.
Klaus Paiva
Conheça também: Taperás

#10 Perroud

Perroud

    12 Horas

  • Usuários
  • 146 posts
  • Sexo:Não informado

Posted 25/05/2005, 13:17

Onde a única saída era usar o embed...
Geralmente esse bugs ocorriam com loading ou coisas do tipo....
É lamentável...

Por esta razão, que é aconselhável criar um movie "container" sem absolutamente nada de conteúdo e nele, chamar um movie principal via loadMovie().
É preciso entender que o plugin do Flash no IE e nos demais, funcionam de forma diferente, infortunadamente.
[]'s
Perroud

perroud[at]gmail[dot]com




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq