25th nov 2009

O POG nosso de cada dia #18

Ah, as integrações enfre flash e javascript: elas sempre podem consumir tempo.
Até que as últimas que temos feito aqui na empresa têm sido tranquilas – graças inclusive ao Ronaldo (visitem o blog dele: http://www.hardinspire.com/blog/).  Mas, sempre no final da implementação vem o cliente com alguma coisa diferente, que ninguém havia pensado…

O cenário

Um flash é alimentado por um xml, e a partir desses dados gera uma série de links.

O problema

Ao clicar, o flash abre esse link em uma nova página. Mas seria necessário abrir na mesma página.

A solução

Procuramos, procuramos, e nada de encontrar uma forma de fazer o swf abrir um link na mesma página – parece que por ser um swf embedade no html, não é possível fazer isso. A única forma de fazer foi a seguinte: criar uma função javascript que recebe a url como parâmetro (no caso, chamada swfURL) e chama um window.open com target para a mesma janela.

<script type=”text/javascript”>
function swfURLparam) {
window.open(param, “_self”);
}
</script>

O flash, na action script, chama essa função passando a url como parâmetro.
Não sei o quanto isso é um POG efetivamente, mas foi feito nos 45 do segundo tempo, como último recurso, e funcionou belezinha!

Posts relacionados

Avalie

1 estrela2 estrelas3 estrelas4 estrelas5 estrelas (No Ratings Yet)

9 Responses to “O POG nosso de cada dia #18”

  1. Diogo Souza says with Opera on Linux

    Flash… xml… calafrios! Ainda tem javascript no meio.

  2. Hard says with Firefox on Windows Vista

    ahuahuhuahuahua

    Há muito tempo atrás fazia alguns sites básicos, e normalmente o topo era em flash,
    junto com o menu e advinha se abria os links em outra página?
    Sim! Abriam… heheheh
    essa do window.open(param, “_self”); eu nunca tinha visto huehehe
    ;)

  3. ricardo says with Firefox on Windows XP

    Mas um getURL(LINK_RECEBIDO_DO_XML, ‘_self’); não resolvia?

  4. Chris says with Firefox on Ubuntu

    @Ricardo não sei… não manjo nada de AS, só pensei em como resolver por js! hehe

    @Hard mas foi uma boa saída, hein?!?!

  5. Alexsandro says with Firefox on Windows Vista

    Aparentemente é um POG bem feito :P

  6. Tweets that mention Chris B. – idéias e pensamentos » O POG nosso de cada dia #18 -- Topsy.com says with

    [...] This post was mentioned on Twitter by Chris Benseler, FlashAbility. FlashAbility said: RT o POG nosso de cada dia: http://www.chrisb.com.br/blog/o-pog-nosso-de-cada-dia-18/ #flash #javascript: o POG nos… http://bit.ly/8rsX6g [...]

  7. zap.br says with Firefox on Mac Os X 10.5

    Não sei mas tenho a impressão que fazendo com o código abaixo iria funcionar:

    var request:URLRequest = new URLRequest(url);
    navigateToURL(request, ‘_self’);

    Abraços!

  8. Hard says with Firefox on Windows Vista

    @zap.br – acredite, só faltou eu usar o getURL(), tinha pelo menos em 2006 alguns sites em flash publicados e
    eles abriam na mesma página, mas por forças maiores ele não abria!
    =)

  9. Hard Inspire | Link para download ou redirecionamento na mesma página Flash/Flex says with Wordpress

    [...] – ExternalInterface -> Chamando um javascript no HTML em que o SWF esta. (Chris postou no blog dele, olhem la também) caiu no post de POGs [...]

Leave a Reply