No AS2.0 era feito atravez do cmd getURL, porém no AS3.0 não! Nele usamos o ExternalInterface.call().
Não vou entrar em detalhes do porque houve mudança, até pq eu to aprendendo AS agora.
Bom, mãos a obra:
Para isso é necessário primeiro importar o Externalinterface no seu codigo AS:
Código actionscript
import flash.external.ExternalInterface;
Após importado (normalmente no inicio do código), é só usar:
Código actionscript
ExternalInterface.call("alert('foo')");Tudo pronto, maravilha! Rápido, prático e indolor! Certo!?
ERRADO!
Roda isso no IE pra ver o que acontece!
(aaaaah ie sempre ele, e esse erro dá até no tão bem falado prototipo de browser decente IE8)
Rodei e fucei os docs da Adobe, eles tem um exemplo que misteriozamente funciona no IE mas não ensinam a corrigir.
Enfim, fui fuçando até encontrar uma quase gambi.
O erro acontece pq o IE se refere ao flash via seu Object ID, não faço ideia de que merda seja essa nem o porque incluir o flash em nossa pagina não gera isso. Mas achei a solução!
Ao invez de usarmos <embed> <object> e aquele monte de coisa. É só usarmos o SWFObject!
Por ser um script bem feio, ele indexa esse ID e o IE passa a reconhecer os comandos JS dentro do AS.
É isso ae.
Olha ai as paginas do SWFObject: http://blog.deconcept.com/swfobject/
Em breve um tutorialzinho desse script excelente!

Entrar
Cadastre-se
Ajuda
Responder


Quote