Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Eu montei um chat simples e estou com um problema:
No chat tem uma lista de usuários online, os offline não aparecem. Mas o servidor só te deixa offline quando você clica no botão de log out, se você fechar a página (ou acontecer qualquer coisa que faça o flash player parar de executar) e não clicar em log out o servidor continua te considerando online.
Existe alguma maneira de fazer o servidor te desconectar automaticamente do chat se você fechar a página ou o flash player parar de executar (usando apenas Actionscript 3.0 e PHP)?
O ideal seria o servidor gerenciar esse tipo de resposta, pesquisa nesse chat que está usando se não existe nenhuma função que conta um período de inatividade ( Talvez pode ser a mesma classe que gerencia quando as pessoas ficam 'away')
Caso não tenha essa opção, você vai precisar usar Javascript para se comunicar com FLash.
Usando a classe ExternalInterface e o método 'onbeforeunload' do objeto window.
Basicamente, seria algo assim:
window.onbeforeunload = function(e) { // Envie um evento para o Flash, };
Quando receber esse evento enviado pelo javascript, execute seu método de log off.
Aqui existem alguns exemplos de como usar e adaptar o ExternalInterace dentro de sua interface.
Lembre-se que esse código acima pode não funcionar em todos os browsers, então testes seriam essenciais nesse caso.
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#includeExamplesSummary
Good luck