Pergunta

Normalmente, os aplicativos Flash e Flex são incorporados em HTML usando uma combinação de object e embed tags ou, mais comumente, usando JavaScript.No entanto, se você vincular diretamente a um arquivo SWF, ele será aberto na janela do navegador e, sem olhar na barra de endereço, você não poderá dizer que não foi incorporado em HTML com o tamanho definido para 100% de largura e altura.

Considerando a sobrecarga de HTML, CSS e JavaScript necessária para incorporar um aplicativo Flash ou Flex preenchendo 100% da janela do navegador, quais são as desvantagens de vincular diretamente ao arquivo SWF?Quais são as vantagens?

Posso pensar em uma vantagem e três desvantagens:você não precisa das mais de 100 linhas de HTML, JavaScript e CSS que seriam necessárias, mas não tem detecção de plugin, nenhuma verificação de versão e perde sua melhor opção de SEO (aprimoramento progressivo).

Atualizar não se preocupe com mais de 100 linhas, simplesmente quero dizer que a quantidade de código necessária para incorporar um SWF é bastante (e quero dizer, incluindo bibliotecas como SWFObject), e é apenas para exibir o SWF, que pode ser feito sem uma única linha, vinculando-o diretamente.

Foi útil?

Solução

Vantagens de vincular diretamente ao arquivo SWF:

  • Acesso mais rápido
  • Você sabe que é um filme em flash antes mesmo de clicar no link
  • Ignorando os arquivos html e js (você não usará CSS para exibir filmes 100% em flash de qualquer maneira)

Desvantagens:

  • Você tem pouco controle sobre os padrões do filme.
  • Você não pode usar cores de fundo personalizadas, transparência, etc.
  • Você não pode usar flashVars para enviar dados para o filme a partir do HTML
  • Não é possível usar o fscommand do filme para a página
  • As proporções do filme nunca são iguais à proporção da janela do usuário
  • Você não pode compensar a incompetência do navegador (o próximo novo navegador será lançado e você estará com problemas)
  • Sem SEO
  • Sem título de página, é ruim se você deseja que as pessoas marquem corretamente.
  • Nenhuma informação de plugin, links para download, etc.
  • Se o seu SWF se conectar a fontes de dados externas, você poderá ter problemas entre domínios.
  • Renomear o arquivo SWF também renomeará o link.Ruim para versionamento.

Resumindo, para uma aplicação complicada - use sempre o HTML.Para um filme de animação simples, você pode escolher qualquer um dos caminhos.

Outras dicas

Você também perde o controle externo do SWF.Quando está incorporado em HTML você pode usar javascript para se comunicar com o SWF.Se o SWF for carregado diretamente, isso pode não ser possível.

Sua cotação de mais de 100 linhas parece muito alta para mim.O HTML que o FlashDevelop gera para incorporar um SWF tem apenas cerca de 35 linhas, com a inclusão de um único arquivo swfobject.js.Você não deveria precisar mexer no arquivo js e, no máximo, só teria que ajustar o HTML de maneiras muito pequenas para que ele fizesse o que deseja.

Na minha experiência, nem todos os navegadores lidam com isso corretamente.Não sei ao certo por que (ou quais navegadores), mas ocasionalmente enviei links como esse por engano para clientes e eles muitas vezes voltam confusos.Suspeito que o navegador deles solicite que baixem o arquivo em vez de exibi-lo corretamente.

Uma vantagem que posso imaginar é poder especificar parâmetros GET no URL direto para o SWF, que estará disponível no aplicativo Flash (via Application.application.parameters no Flex, não tenho certeza de como acessá-los no Flash CS3).É claro que isso também pode ser alcançado por outros meios se você tiver um wrapper HTML, mas dessa forma é menos trabalhoso.

Por que você precisaria de mais de 100 linhas de código?Usando algo como swfobject reduz bastante esse valor (e geralmente você não deseja fazer detecção de plugins, etc.à mão de qualquer maneira).

Mais vantagens:

  1. Aparência leve porque você pode se livrar do cabeçalho com todas as barras de ferramentas que parecem se acumular ali e até mesmo a barra de rolagem não é necessária.Isso aumenta o impacto quando você está tentando mostrar muita ação em um curto espaço de tempo.
  2. O importante:você o coloca em uma janela que pode arrastar para maior ou menor e tornar o filme maior ou menor.O player redimensionará o filme para preencher a janela que você possui.Isso é ótimo para coisas como fotos de grupo, onde todos desejam ampliar para encontrar a si mesmos e seus amigos.Eu fiz isso para uma produção em Flash de um quadro!

Desvantagens:Assim como acontece com os pop-ups em geral, se você estiver solicitando vários pop-ups do mesmo site e quiser pop-ups de tamanhos diferentes, os navegadores tendem a simplesmente substituir o tamanho solicitado em window.open e reutilizar o que estiver aberto.Você precisa fechar qualquer pop-up aberto para que window.open faça uma nova criação.Fica complicado e não consegui fazê-lo funcionar nas páginas de um site.Qualquer pessoa que tenha feito isso com sucesso, por favor poste como!

A Adobe deveria se envergonhar com a incorporação padrão, que derrota o objetivo da convenção em vez da configuração.Verifique ^swfobject (como mencionado acima) ou swfin

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top