oceanus Posted October 29, 2008 at 05:03 PM Report #221638 Posted October 29, 2008 at 05:03 PM 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??
djthyrax Posted October 29, 2008 at 05:55 PM Report #221658 Posted October 29, 2008 at 05:55 PM 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!
Sven Posted October 29, 2008 at 06:17 PM Report #221672 Posted October 29, 2008 at 06:17 PM Se não me engano o unload é chamado também quando mudas de página e não só quando fechas o browser Writing software is more fun than workingO covil do Barão
djthyrax Posted October 29, 2008 at 06:32 PM Report #221674 Posted October 29, 2008 at 06:32 PM Não tinha lido essa parte no post dele, 'soz. 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!
Guest id194 Posted October 29, 2008 at 09:54 PM Report #221743 Posted October 29, 2008 at 09:54 PM 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.
fnds Posted October 29, 2008 at 10:05 PM Report #221747 Posted October 29, 2008 at 10:05 PM oceanus, posso saber qual é o objectivo final? (para te poder ajudar melhor)
oceanus Posted October 30, 2008 at 10:20 AM Author Report #221830 Posted October 30, 2008 at 10:20 AM 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.
fnds Posted October 30, 2008 at 11:02 AM Report #221848 Posted October 30, 2008 at 11:02 AM 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.
Sven Posted October 30, 2008 at 03:01 PM Report #221917 Posted October 30, 2008 at 03:01 PM 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 Writing software is more fun than workingO covil do Barão
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now