Link para download ou redirecionamento na mesma página Flash/Flex

No trabalho tivemos algumas dificuldes de abrir um humilde link na mesma página apartir de um SWF!
o navigateToURL(URLRequest, String=null); por algum motivo não abria a página na mesma janela (sim usei o _self).

Não estou dizendo que fiz de tudo dentro das boas práticas, usando as coisas certas, mas lhe digo que o simples navigateToURL() com selt, parent, top, hospedado e não hospedado, interno ou em rede, allowScriptAccess:always ou sameDomain ele não queria ir, deve ser alguma config, então ajeitamos de 2 maneiras:

1ª – 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 kkk.

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

2ª – Digamos que é a mesma solução da primeira, porem faremos dentro do AS:

//Abre a URL passada na mesma janela da aplicação
private function open():void
{
	var url:String = "javascript:void(window.open('http://www.chrisb.com.br/blog/o-pog-nosso-de-cada-dia-18/'))";
	void(navigateToURL( new URLRequest( url ), "_self"));
}

Na linha 4 desse código acima, a palavra javascript fala para o SWF embedado procurar funções do javascript na página HTML, o void é justamente para o window.open não retornar nada, somente executar, pode acontecer de você disparar essa função para abrir a URL e ele abrir uma página em branco.

Na linha 5 esse void() é só teste mesmo hehe, ele não influência em nada, até por que o comando navigateToURL() é void, ele executa e não retorna nada. Pode remover ele se quiser rs


Comments

  1. Quote
    Gravatar

    Uma variação do POG! Boa!

Leave a Comment

(required)

(required)

Formatting Your Comment

The following XHTML tags are available for use:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

URLs are automatically converted to hyperlinks.