Atenção para a PEGADINHA DO MALANDRO:

ExternalInterface.avaliable = retorna se o browser permite que o FLASH faça
chamadas ao javascript/vbscript, mas nao significa que essa chamada ESTEJA
disponível!


Por exemplo:
- Desative o javascript do browser e rode o ExternalInterface.avaliable.
MESMO com o JS desativado, o retorno será TRUE. Significa que o browser dá o
suporte para o FLASH <=> JS, mas nao significa que vc PODE chamar, pois ele
está desativado.

Por isso q no link que eu te mandei (chegou a le-lo e compreende-lo?), o
cara diz para vc tratar as suas chamadas com try/catch para poder tratar
isso adequadamente.

Verificou se no browser q nao está funcionando, o JS está habilitado? (mesmo
q seu site já esteja como "site seguro")


[]'s




Em 26 de setembro de 2011 17:11, Re JMD <[email protected]> escreveu:

> Estou usando o IE sim, o problema é que funciona em algumas maquinas e em
> outras não, não sei explicar o porque.
>
> Usei o  ExternalInterface.avaible para verificar se o browser permite
> chamada externa e ele retorna true. Não é versão do browser pois ja testei
> em duas maquinas ambas com IE 8 e uma funciona e a outra não!
>
> Escabrosoooooo!
>
> Em 26 de setembro de 2011 17:03, Rogerio Gonzalez <
> [email protected]> escreveu:
>
> Não sei se vc só esta usando Internet Explorer, mas pelo que me lembro,
>> ActiveX Object não funciona em outros browsers...
>>
>> Abraços!
>>
>> Rogério
>>
>>
>>
>> 2011/9/26 Mário Júnior <[email protected]>
>>
>>> É uma boa prática vc SEMPRE verificar se ExternalInterface está
>>> disponível, e se o acesso a javascript também está autorizado pelo browser.
>>> Leia essa dica e aplique isso no seu caso:
>>>
>>>
>>> http://www.markledford.com/blog/2010/04/22/fyi-externalinterface-available-probably-doesnt-do-what-you-think/
>>>
>>>
>>> E, nos browsers q nao funcionam, verifique se há restrição para executar
>>> javascript.
>>>
>>>
>>> []'s
>>>
>>>
>>>
>>> Em 26 de setembro de 2011 15:46, Re JMD <[email protected]> escreveu:
>>>
>>>   Pessoal,
>>>>
>>>>  Na minha aplicação chamo um activexObject para pegar o usuário logado
>>>> na maquina, estou com alguns problemas pois em algumas maquinas funcionam e
>>>> em outras não. Já adcionei como site seguro.
>>>>
>>>> Instalaei o degub em umas das maquinas que não está funcionando e ele me
>>>> retorna o seguinte erro:
>>>>
>>>>  TypeError: Error #1009: Não é possível acessar uma propriedade ou um
>>>> método de uma referência de objeto nula.
>>>>  at Sicorc/autenticar()[C:\Documents and
>>>> Settings\regism\workspace\Sicorc\flex_src\Sicorc.mxml:39]
>>>>  at Sicorc/___Sicorc_Application1_creationComplete()[C:\Documents and
>>>> Settings\regism\workspace\Sicorc\flex_src\Sicorc.mxml:7]
>>>>  at flash.events::EventDispatcher/dispatchEventFunction()
>>>>  at flash.events::EventDispatcher/dispatchEvent()
>>>>  at
>>>> mx.core::UIComponent/dispatchEvent()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UIComponent.as:12528]
>>>>  at mx.core::UIComponent/set
>>>> initialized()[E:\dev\4.x\frameworks\projects\framework\src\mx\core\UIComponent.as:1627]
>>>>  at
>>>> mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:759]
>>>>  at
>>>> mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.x\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1072]
>>>>
>>>> ActiveXObject
>>>>
>>>>
>>>> <script language=*"JavaScript"*
>>>> type=*"text/javascript"*>
>>>>
>>>> *function* getUserVars() {
>>>>
>>>> *var* net = *new* ActiveXObject("wscript.network");
>>>>
>>>> *return* [net.UserName, net.UserDomain, net.ComputerName];
>>>>
>>>> }
>>>>
>>>> </script>
>>>>
>>>> Função autenticar!
>>>> **
>>>> *private* *function* autenticar():*void*
>>>>
>>>> {
>>>>
>>>> *//usuarioService.autenticar();*
>>>>
>>>> *var* USER:Dictionary = *new* Dictionary();
>>>>
>>>> *var* vars:Object = ExternalInterface.call(*"getUserVars"*);
>>>>
>>>> LINHA 39 USER[
>>>> *"USUARIO"*] = vars[0].toString();
>>>>
>>>> USER[
>>>> *"DOMINIOO"*] = vars[1].toString();
>>>>
>>>> USER[
>>>> *"MAQUINA"*] = vars[2].toString();
>>>>
>>>> *//Alert.show("usuario"+vars[0].toString());*
>>>>
>>>> usuarioService.autenticar(vars[0].toString());
>>>>
>>>> *//usuarioService.autenticar("rdebona");*
>>>>
>>>> }
>>>>
>>>>
>>>> --
>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>>> Para sair da lista, envie um email em branco para
>>>> [email protected]
>>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>>
>>>
>>>
>>> --
>>> Mario Junior
>>> http://blog.mariojunior.com/
>>> @mariojunior
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para [email protected]
>>> Para sair da lista, envie um email em branco para
>>> [email protected]
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> Para sair da lista, envie um email em branco para
>> [email protected]
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>  --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para [email protected]
> Para sair da lista, envie um email em branco para
> [email protected]
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a