• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ggldsns

Reconhecer a instrução de encerramento da página

20 mensagens neste tópico

Boas,

A ver se me consigo explicar. O utilizador entra na página e eu queria saber se ao fechar a página é possivel reconhecer essa instrução e depois apresentar uma msgbox

Ou seja, ao carregar no "X" ser-lhe-ia apresentada uma mensagem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim :D

<html><head>
<script language="JavaScript">
<!--
function sai(){
  window.alert("Volte sempre");
}
-->
</script></head>
<body onunload="sai;">
</body></head>

Espero que ajude :D.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hm, muito obrigado pela resposta (rápida) mas nao consegui com que funcionasse. Quer no IE, FF ou Opera

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

onde tens onunload="sai;" poe onunload="sai();" n tenho a certeza se será disso, mas pode ser...

mas se pretendes não deixar o user sair ou fazer uma pergunta verificando se deseja sair, tens de usar o evento onbeforeunload, mas não funciona no netscape e no opera acho...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens razão, dessa maneira já funcionou ^^

Realmente nao queria deixar sair. Quer dizer... queria que ao fechar essa página fosse direccionado para outra mas em que essa opção de ir para a outra página estivesse na caixa da mensagem

-----------------

bla bla bla. Veja entao os resultados

[ VER ]

-----------------

Um exemplo

Obrigado btw

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, tem cuidado com o bloqueador de pop-ups do Firefox! Ele não costuma deixar abrir essas páginas que abrem quando saem de uma outra página.  :D

Já o do IE não sei, não o uso...  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ya era mesmo esse o problema, eu esqueci-me de colocar () na instrução, sory mas é o que faz escrever códigos rápidamente :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya, mas ta fixe, vou usar esse exemplo num site que tou agora a construir

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, tem cuidado com o bloqueador de pop-ups do Firefox! Ele não costuma deixar abrir essas páginas que abrem quando saem de uma outra página.  :D

Já o do IE não sei, não o uso...  :D

Mas eu nao queria que ele abrisse uma nova página ^^ Queria é que o utilizador ao fechar a página aparecesse a tal mensagem e depois de carregar no botao de VER a página que ele tinha tentado fechar iria agora apresentar uma nova. Ou seja, tudo no mesmo sitio =)

Deu para perceber? =x

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De qualquer maneira a primeira página vai ser fechada... e vai abrir uma nova, porque usas-te o event onunload.

OU seja, a mandas a primeira página fechar e depois da pergunta, ela fecha qualquer que seja a resposta. Se o utilizador responder que quer entao abrir a tal página, mas esta vai ser aberta forçosamente numa janela nova.

Daí eu ter referido os pop-up blockers..  :biggrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm.... percebo. E não há uma maneira de não chegar a fechar a página?

E dessa maneira que me sugeriram como faço entao para apresentar uma caixa com o botao? E que quando clickado vá entao abrir a nova página

Thanks

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

skin, antes de mais desulpa lá pelo copy, mas tava aqui tão à mão...  :D

<head>

<script type="text/javascript">

<!--

function sai(){

var resp=Confirm("Deseja abrir página?")

if  (resp==true){

windown.open("endereço que tu queres")

}

}

-->

</script></head>

<body onunload="sai;">

Esse fecha a janela actual e pergunta se quer abrir uma nova.

Nazgulled, esse onbeforeunlad existe?  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

existe, mas só no IE e Firefox. o evento é executado mesmo antes do onunload, o que permite cancelar a saida da pagina. ou seja, ele pode usar este evento para perguntar se o utilizador quer ver os tais resultados, se sim, az um window.location e cancela a saida da pagina, se não, deixa fechar a pagina normalmente... ao fazer isto, n está a ser aberto nenhum popup, a página actual esta a ser redirecionada, logo, nenhum popup blocker deve bloquear...

http://www.webreference.com/dhtml/diner/beforeunload/

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É exactamente isso! ^^

A ver se depois dou com a coisa. Apesar de ter a certeza que ainda vai haver mais perguntas obrigado a todos 8)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu bem disse que voltava ^^

Meti a funçao na página

<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
window.onbeforeunload = unloadjk;
function unloadjk(){
msg = "MENSAGEM"
return msg;
}

Mas quando aparece a janela e click OK sou redireccionado para essa página que disseste =x Como escolho para que página deve ir?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como escolho para que página deve ir?

Dentro do script depois da msg, escreves:

window.location="endereço que queres"

Nazgulled, essa função do beforeunload é bem porreira!  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hmm... agora ele carrega a nova página ao mesmo tempo que apresenta a mensagem e eu tenho que carregar Cancel para nao sair e ficar na nova página. Era suposto ser assim? ^^

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta fazer um if com isso... Alterei o teu código, espero que não te importes...

<SCRIPT LANGUAGE="JavaScript1.2" TYPE="text/javascript">
<!--
window.onbeforeunload = unloadjk;
function unloadjk(){
var resp=Confirm("Deseja abrir pagina?")
if (resp==true){
window.location="endereco que queres"
}
}

Espero que desta funcione...

EDIT:

Esqueci-m de dizer, mas estive a procurar sobre os eventos de unload e beforeunload e estes funcionam se tu carregares no botão de fechar... e igualmente se carregares num link para ir para outra página...  :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esqueci-m de dizer, mas estive a procurar sobre os eventos de unload e beforeunload e estes funcionam se tu carregares no botão de fechar... e igualmente se carregares num link para ir para outra página...  :P

Por acaso dá-me jeito =) mas olha, dessa maneira que escreveste ele já nao pergunta, simplesmente sai...

Agradeço se puderem ajudar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora