Jump to content

Recommended Posts

Posted

Boas,

Alguem sabe uma forma de eu detectar que o utilizador fechou o browser no ie7?

Neste momento consigo detectar se o utilizador fechar o browser no X. mas se fechar no tab não consigo.

                    function Fechar

{

var browserWindowWidth = 0;

var browserWindowHeight = 0;

// gets the width and height of the browser window

if (parseInt(navigator.appVersion) > 3)

{

if (navigator.appName == "Netscape")

{

browserWindowWidth = window.innerWidth;

browserWindowHeight = window.innerHeight;

}

if (navigator.appName.indexOf("Microsoft") !=- 1)

{

browserWindowWidth = top.window.document.body.offsetWidth;

browserWindowHeight = top.window.document.body.offsetHeight;

}

}

return (event.clientY < 0 && event.screenX > (browserWindowWidth - 25)) ? true : false;

}

Com o seguinte if consigo detectar tambem a fechar o browser, só que quando navego para outra página ele assume que estou a fechar o browser, coisa que não quero.

if (window.event.clientY < 0 && (window.event.clientX > (document.documentElement.clientWidth - 5) || window.event.clientX < 15) )

Alguem sabe uma forma de resolver o problema??

Posted

Mais vale chamares uma função no onunload.

<body onunload="func()">

ou

window.unload = func

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Posted

A única coisa que podes fazer, já te foi dito, mas tem os seus "problemas". Detectar se o browser foi fechado não é possível. Se estás a dar a ordem de terminar o processo do browser, como é que queres que este mande essa informação para o cliente? Ou mandas informação para o cliente ou terminas o processo, as duas coisas são incompatíveis.

Posted

Eu quero detectar o fechar do browser para atraves de ajax avisar o servidor que o cliente foi fechado. Isso é possivel e aliás funciona. o problema é que com o i7 sao suportados varios tabs no mesmo browser...

O objectivo final é o servidor terminar a sessao.

Posted

Eu quero detectar o fechar do browser para atraves de ajax avisar o servidor que o cliente foi fechado. Isso é possivel e aliás funciona. o problema é que com o i7 sao suportados varios tabs no mesmo browser...

O objectivo final é o servidor terminar a sessao.

Em qualquer browser moderno são suportadas tabs

Podes fazer ao contrário, fazes um requeste a um script que te permite ter a sessõa iniciada, se esse requeste não acontecer passado x tempo a sessão é fechada.

Alias esse é o metodo normal, a sessão ter um prazo definido, ao fim desse prazo a sessão expira e o utilizador tem que fazer novo login

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.