megaOi 0 Denunciar post Postado Outubro 4, 2010 Bom dia amigos, No AS2 dava para eu criar funções JS via AS. No AS3 só achei maneiras de chamar as funções que você deve desenvolver no HTML. Alguém sabe alguma forma de CRIAR as funções via AS3? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 4, 2010 Como você criava funções javascript em AS 2??? Seria assim: ?? botao.onPress = function() { getURL("javascript: callFunction()"); } E no html você colocava a função callFunction??? Se for é exatamente a mesma coisa em AS 3 botao.addEventListener(MouseEvent.CLICK, onClick); function onClick(e:Event):void { navigateToURL(new URLRequest("javascript: callFunction()")); } Existem maneiras de criar funções inteiras dentro do getURL e do navigateToURL, mas ai é questão de saber js inline... se você souber você pode escrever uma função inteira inline assim: botao.onPress = function() { getURL("javascript: function hello(){ alert('hello world') }; hello()"); } Que como pode ver não foge muito dos padrões normais do JS a unica diferença é que ele é condensado numa linha só e não tem entereres... como se fosse um codigo no formato .min Abraços Compartilhar este post Link para o post Compartilhar em outros sites
megaOi 0 Denunciar post Postado Outubro 4, 2010 berseck, É assim que criava no AS2: botao.onPress = function() { getURL("javascript: function hello(){ alert('hello world') }; hello()"); } Como faço isso agora no AS3? Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 4, 2010 Ta ali em AS 3 use o navigateToURL só substituir o código. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
megaOi 0 Denunciar post Postado Outubro 4, 2010 Cara fiz assim: function teste() { navigateToURL(new URLRequest("javascript: function testeJS(){ alert('testando') }; testeJS()")); } teste(); No FF abre uma nova janela e da o alert, no IE não acontece nada. Tem como resolver? :S Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 4, 2010 Nova janela??? Fazer isso ai é a mesma coisa que copiar O javascript e colar na barra de endereços... Se roda na barra de endereços tem que roda em qualquer outra coisa... Se não faz da maneira antiga que é colocando o Javascript no HTML e chama como eu falei anteriormente Que é mais seguro e mais fácil de visualizar os problemas Abraços Compartilhar este post Link para o post Compartilhar em outros sites
megaOi 0 Denunciar post Postado Outubro 4, 2010 Sim, abre outra janela! E não coloco a função no HTML, pois a regra desse projeto é que não poder ter funções de JS no html, tem que resolver tudo no flash. :S Resolvido, obrigado Amigo. Ficou assim: function teste() { navigateToURL(new URLRequest("javascript: function testeJS(){ alert('testando') }; testeJS()"),"_self"); } teste(); só acrescentar o "_self" no final Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Outubro 4, 2010 O parametro _self não deveria ser necessário :( Uma vez que se você não declarar, por natureza é self e não _blank Mas tudo bem... E porque não pode colocar javascript no HTML??? Que diferença que vai fazer? Abraços Compartilhar este post Link para o post Compartilhar em outros sites