Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde galera,
Estou num problema aki, estou fazendo um pre-site q direciona para outros sites feitos em flash,
porém eu precisava q ao clicar no link desse pre-site q esta no formato <a href>, ele fizesse o _blank, abrisse o site em flash e executasse determinada function(); que esta no site em flash, pois preciso q essa função só execute qdo o visitante venha pelo link externo..
Alguma ajuda pra isso??? Pq to procurando aki e na net mas n to achando nd parecido..
Agradeço a todos desde já como sempre!!!
Abraxx..
Bom dia,
Tirando algumas duvidas:
>
exemplo:
http://www.exemplo.c....br/&site=true;
O codigo acima seria o exemplo do link no <a href> certo???
Fiquei sem entender direito essa parte abaixo:
> <embed src="meusite.swf?<?= $_GET['site']; ?>" />
Esse codigo **?<?= $_GET['site']; ?** é o exemplo para alterar na tag embed do site original?
Nesse caso, posso interagir com essa variavel direto no flash pra fazer ou n fazer dependendo do valor da variavel correto?
Tipo, se for "tal valor" aciona "function1", se for "outro valor" aciona "function2", se for "nada" aciona "function3" e assim por diante?
Agradeço a ajuda..
Abraxx..
Leia sobre FLASHVARS que você vai entender melhor.
<embed src="meusite.swf?<?= $_GET['site']; ?>" /> <----- é seu embed do flash que vai receber a variavel.
Ai o que você pode fazer dentro do flash é utilizar _root.variavelGet ou seja o nome da variavel que vai vir ali... exemplo:
<embed src="meusite.swf?site=true" />
no flash trace(_root.site) //output true
Ou você pode usar o load.
var site;
var loader:LoadVars = new LoadVars();
loader.load('index.php');
loader.onload = function(ok){
if(ok) site = loader.site;
else trace('deu erro');
}
L de onload é maiúsculo.
Abraços
Bom, vamos aos resultados parciais, :)
Depois de muitos tutoriais e muitos links informando como se faz o flashVars, a maioria não funcionou, pelo menos comigo, rsrs..
Fiz uma junção da dica que o berseck passou com o auxilio do blog dele e do help da propria Adobe, fiz o seguinte:
no html:
<param name="flashVars" value="&myURL=http://dsoares.com/&">
<embed src="myflashvars.swf" flashVars="&myURL=http://dsoares.com/&" quality="high" bgcolor="#ffffff" width="550" height="400" name="myflashvars" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="[http://www.adobe.com/go/getflashplayer"](http://www.adobe.com/go/getflashplayer) />
e no flash:
this.createTextField("myTxt", 100, 0, 0, 100, 20);
myTxt.autoSize = "left";
var carrega:LoadVars = new LoadVars();
carrega.load("myflashvars.html");
carrega.onLoad = function (success:Boolean){
if(success){
if (carrega.myURL == undefined) {
myTxt.text = "myURL não foi definida";
} else {
myTxt.text = carrega.myURL;
}
}else{
trace("Falha ao carregar os dados");
}
};
até aee beleza, ótimo, ja estou recebendo os valores no flash.. porém, precisava q o valor da variavel q estou recebendo no flash seja dinamico, pois cara link externo chama uma função diferente..
tentei alterar o flashVars no HTML para o seguinte:
<param name="flashVars" value="&<?= $_GET['myURL']; ?>&">
<embed src="myflashvars.swf" flashVars="&<?= $_GET['myURL']; ?>&" quality="high" bgcolor="#ffffff" width="550" height="400" name="myflashvars" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="[http://www.adobe.com/go/getflashplayer"](http://www.adobe.com/go/getflashplayer) />
Mas com certeza estou fazendo algo de errado pq n funcionou..
Estou chamando os externamente pelo <a href>, e estou com o seguinte codigo:
<a href="myflashvars.swf?myURL=1">link 1</a>
<a href="myflashvars.swf?myURL=2">link 2</a>e assim vai sucetivamente alterando os valores, e é dessa forma q eu preciso que o flash receba os dados, de forma dinamica..
Alguma ajuda nessa parte por favor?
Abraxx..
Como o flash é bonzinho ele vive em cache então tudo que você tem que fazer é matar esse cache
Fazendo assim:
carrega.load("myflashvars.html?killCache="+random(999));
Eh por essas e por outras que o flash nos da dor de cabeça :)
Espero que agora resolva seu problema ;)
Abraços
Faça isso com GET
E coloque o parametro no script de embed do flash
exemplo:
http://www.exemplo.com.br/&site=true;
Embed:
Ou envie como FlashVars passando o get via parametros.
Após passar esse valor para o flash, dentro do flash crie uma função que vai ler se isso existe... se existir executa a função que você quer
Só sei dessa maneira... mas acredito que podem existir outras.
Abraços