Detectar inatividade de usuário em filmes do Flash

Canal: Flash  |  Autor: Jonathan Lamim Antunes  |  Publicado em: 07/04/2009  |  Views: 1.465

Às vezes quando desenvolvemos algum conteúdo em Flash, pode acontecer de em determinado momento a atenção do usuário nào estar voltada para ele, principalmente se for um vídeo onde estão sendo apresentadas instruções para alguma operação ou trabalho. Sendo assim, abaixo segue um pequeno código comentado para verificar se o usuário está com as atenções voltadas para o conteúdo.

Código Action Script

// tempo máximo inativo (em segundos)
var tempo_maximo_inativo = 10;

// tempo_ultima_vez_ativo (em milisegundos)
var tempo_ultima_vez_ativo = getTimer();

function verificar() {
if (getTimer()-tempo_ultima_vez_ativo %3E tempo_maximo_inativo*1000) {
// aqui entram as ações a serem executados quando o tempo máximo de inatividade é atingido

// clearInterval(interval_idle);
}
}

// ao se mover o mouse a variável é reiniciada
this.onMouseMove = function() {
tempo_ultima_vez_ativo = getTimer();
};

// para não sobrecarregar o filme, evitamos o uso
// de um onEnterFrame e utilizamos setInterval
interval_idle = setInterval(verificar, 100);

A única coisa que terá que fazer é substituir o valor 10 da variável tempo_maximo_inativo, expressado em segundos, pelo valor desejado e definir as ações a serem executadas quando o tempo maximo inativo for alcançado, isso dentro da função verificar.

O código acima funciona nas versões MX e superiores.

Creative Commons Esta obra está licenciada sob uma Licença Creative Commons. Você pode copiar, distribuir, exibir, executar, desde que seja dado crédito ao autor original (Citando nome do autor, data, local e link de onde tirou o texto). Você não pode fazer uso comercial desta obra. Você não pode criar obras derivadas.
Vote no artigo:

Compartilhe:

[x] Fechar Preencha os campos abaixo para indicar esta página:
Seu nome:
Seu e-mail:
Nome do indicado:
E-mail do indicado:
Deixe uma mensagem:
Anti-spam:

(nova imagem)
Preencha o que vê:
Twitter diHITT Facebook delicious envie por e-mail comentar

comentarComentários:

Preencha o formulário para comentar:

[x] Fechar
Nome:*
E-mail:* (não será exibido)
Site: (http://)
Comentário:*
Anti-spam:

(nova imagem)
Preencha o que vê:

Deseja receber as respostas dos comentários

José Victor
Publicado em:
11/04/2009 - 00:10
O que seria um usuário inativo? Quando estou vendo um filme em Flash geralmente fico parado prestando atenção no filme. Não seria mais óbvio tentar detectar se o usuário está lendo outro site em outra aba do navegador enquanto o vídeo não termina?