Usuário com melhor resposta
[Javascript Básico] Evento Mudança de Página

Pergunta
-
Olá pessoal.
Qual é o evento que é executado quando um usuário está numa pagina de um site, e então ele clica em um link na pagina e vai para outra página do mesmo website?
Meu onbeforeunload só funciona quando ele fecha o navegador ou aba, e o onunload não funciona.
Obrigado.
Respostas
-
é so vc usar o evento "unload" do jquery que executa sempre que o usuario sair da pagina, seja fechando, digitando outro endereço ou outra coisa. Segue exemplo:
$(window).unload(function () {
// Faz o que eu quero
});Tente esse. Utilizo assim e funciona legal. Só nao esqueça de fazer referencia ao .js do jquery.
Abraço!
- Marcado como Resposta Eder CostaModerator quinta-feira, 17 de novembro de 2011 17:37
Todas as Respostas
-
-
-
Tenta usar o método do post do formulário...
__doPostBack(<__EVENTTARGET>, <EVENTARGUMENT>);
* __EVENTTARGET que pode ser o nome do controle
* __EVENTAGUMENT que pode ser um argumento opcional
Caso seja para um controle...
__doPostBack('NomeDoControle', '');
Caso não seja para um controle...
__doPostBack('','argumento opcional');
Nesse caso, quando o evento disparar vai passar pelo Page.IsPostBack... É só tratar usando Request.Form("__EVENTTARGET") e o Request.Form("__EVENTARGUMENT")...
Espero que ajude!
Felipe Ribeiro
Se esta postagem foi útil, marque-a como tal
-
Cara,
pelo que entendi funciona assim,
Quando clico em um link e ele vai para outra página... a primeira ação que ele chama na página que esta sendo aberta é a PAGE_LOAD
Para ficar mais claro, e levando em conwideração que você esta usando o Visual Studio para este projeto,
Vá a té a página que vai ser aberta e aperte o botão F7, verá a página de código com o primeiro método PAGE_LOAD,
AHH.
Lembre-se de realizar o teste
IF(Page.IsPostBack){
}
Para verificar se a chamada é POST ou GET. ok?
Espero ter ajudado
http://fparmezani.wordpress.com- Sugerido como Resposta Fernando Parmezani terça-feira, 30 de agosto de 2011 16:29
-
É uma forma mais não é prática porque meu site tem links nos menus e no corpo da pagina, ou seja teria de colocar no load de todas as paginas do site pra fazer o teste. e se ele sair pra outro site que não seja o meu? pronto já não funcionaria. Preciso de algum evento executado na pagina em que o usuário está quando ele sai da pagina indo para um link ou site. Para quando o usuário fechar o navegador ou aba tem o OnBeforeUnload e para quando ele clica em links ou sai para outro site?
-
-
-
rapaz, se vc quer ter mais controle sobre o link vc pode fazer o seguinte:
- Substituir a propriedade href (propriedade que redireciona) pelo o evento onclick. Seu link deve ter essa estrutura:
<a href='MinhaPagina.asx'>Teste</a>
Voce deve fazer assim:
<a href='javascript:void(0);' rel='MinhaPagina.aspx' onclick='MinhaFuncao(this)'>Teste</a>
Na linha acima, estou colocando uma função javascript "void(0)" na propriedade href do link. Essa função é somente para o link não executar nada no href e pra ele ter comportamento de link, ja que se vc não colocar nenhum href o link parece um label. Feito isso, vc atribui uma função para quando vc clicar no link, no caso a função é "MinhaFunção(this)". Então declare essa função na pagina. Fica assim:
<scrip type='text/javascript'>
function MinhaFuncao(meuLink)
{
// faz o que eu tou querendo antes de redirecionar
window.location.href = $(meuLink).attr("rel"); // irá redirecionar. Jquery esta sendo usado nesse exemplo
}
</script>
-
É uma boa sugestão Marcos. mais vocês não estão entendendo o que quero. quero um evento que ocorra quando ele sai da página, na sua solução marcos e em todas as outras que estão mandando, se eu sair do meu site indo para outro site qualquer digitando um outro endereço no navegador essa situação não será captada pelo código de vocês.
Agradeço todas as repostas, mais preciso de algo que faça exatamente o que quero. um evento que rode quando ele sai da pagina clicando em outro link dentro da mesma pagina OU quando ele digitar um outro endereço no navegador e sair do meu site assim.
-
é so vc usar o evento "unload" do jquery que executa sempre que o usuario sair da pagina, seja fechando, digitando outro endereço ou outra coisa. Segue exemplo:
$(window).unload(function () {
// Faz o que eu quero
});Tente esse. Utilizo assim e funciona legal. Só nao esqueça de fazer referencia ao .js do jquery.
Abraço!
- Marcado como Resposta Eder CostaModerator quinta-feira, 17 de novembro de 2011 17:37
-
Faça assim oh:
1) Script:
<script language="C#" runat="server">
seu código...
</script>
2) No seu HTML:
Na tag BODY adicione o método OnBeforeUnload associando ao código do Script...
Espero que funcione...
Felipe Ribeiro
Se esta postagem foi útil, marque-a como tal