Fechando a sessão do Iframe

5 respostas
C

Dae galera, blz?

Seguinte pessoal, eu dei uma procurada na net, mas n achei nada que me ajude a resolver esse meu problema.

Eu tenho uma tela de cadastro q está dentro de um Iframe, dentro desse Iframe eu tenho um ping feito em javascript para o servidor a cada 2 minutos. Até aí tudo bem, o problema é que quando eu saio da tela de cadastro (Iframe) e começo a usar a tela “Pai” o Iframe ainda está vivo, ele continua pingando a cada dois minutos.

Gostaria de saber como parar esse ping quando eu fecho ou quando eu clico fora do Iframe?

Valeu

5 Respostas

W

Vc esta usando algum timeout (setTimeout) para rodar esses pings ???

Eu penso que vc pode ter algo no seu frame do tipo:

ping=setTimeout(_doPing(),(1000*60)*2);

Ai vc teria que chamar, quando vc fecha o iFrame.

clearTimeout(ping);

//Daniel

C

Olá Daniel

O problema é que o meu Iframe pai é burro, ele só chama o meu Iframe.

Não tenho time out, eu apenas clico em um link fora do frame (um link no frame pai) e o frame de cadastro não sabe se ele está sendo exibido ou não.

Eu tentei usar o onunload, mas ele só é chamado quando eu fecho o navegador e naum quando eu mudo de tela.

Eu estava testando alguns scripts, será que tem como eu saber o status do meu frame dentro do meu frame filho, tipo saber se ele mesmo ainda está aberto???

C

windsofhell:
Vc esta usando algum timeout (setTimeout) para rodar esses pings ???

Eu penso que vc pode ter algo no seu frame do tipo:

ping=setTimeout(_doPing(),(1000*60)*2);

Ai vc teria que chamar, quando vc fecha o iFrame.

clearTimeout(ping);

//Daniel

Aí q tá Daniel, eu tenho um clear ping no meu código, mas como q eu fecho o frame? Sendo que eu só clico fora dele abrindo uma outra página por cima?

Abraços

douglaskd

olha…eu precisava fazer uma lighbox,

criei uma div popop com z-index no ultimo e display:none

dentro dessa div eu coloco um Iframe

eu tenho a opção de dar um hide() através de jquery na div…e ai tudo resolvido…

no seu caso, você pode criar uma função Jquery no sei Iframe, com 2 eventos:

$div.click (starttime())
$main.click(stoptime())

mais ou menos isso

na função starttime(){

//verifica se timeAtivo=TRUE se não estiver ativo, ativa

//seta o time

//seta variavel timeAtivo para TRUE

}

no stoptime não precisa…

veja se minha idéia ajuda

C

douglaskd:
olha…eu precisava fazer uma lighbox,

criei uma div popop com z-index no ultimo e display:none

dentro dessa div eu coloco um Iframe

eu tenho a opção de dar um hide() através de jquery na div…e ai tudo resolvido…

no seu caso, você pode criar uma função Jquery no sei Iframe, com 2 eventos:

$div.click (starttime())
$main.click(stoptime())

mais ou menos isso

na função starttime(){

//verifica se timeAtivo=TRUE se não estiver ativo, ativa

//seta o time

//seta variavel timeAtivo para TRUE

}

no stoptime não precisa…

veja se minha idéia ajuda

hmmm… interessante Douglas, vou dar uma olhada se essa sua idéia dá certo, obrigado

Criado 7 de dezembro de 2011
Ultima resposta 9 de dez. de 2011
Respostas 5
Participantes 3