Kérkel segíts, hogy ne maradjon hibás információ az oldalon!
Ha szerinted valami nem fedi a valóságot, kérlek írd meg, hogy javítani tudjam. Ha kérdésed van, fordulj hozzám bizalommal!

2010. október 13., szerda

Javascript log out on close

Sokáig keresgéltem, hogy hogyan tudom kijelentkeztetni a felhasználót a weblapról, amikor bezárja a böngészőt/tabot, de nem igazán találtam rá megoldást. Az látszott, hogy a böngésző onBeforeUnLoad eseménye (event-je) a megoldás kulcsa, de bármit is próbáltam, semmi nem adott különbséget linkre kattintás és a bezárás között.
De sikerült megoldással rukkolni elő :D A kulcs az, hogy minden linkhez egy javascript függvényt rendelek hozzá, ami bejegyzi, hogy kattintás történt. Ha ez nem igaz, kilépteti a felhasználót.
Az igaz, hogy ez nem oldja meg a frissítés problémáját, de azért már haladás :D

A kód:

\<\script language="JavaScript" type="text/javascript">


var linkClicked=1;
window.onbeforeunload = onbef;
function onbef(e)
{
var ev = e || window.event;
if(!linkClicked) {logoutJS();}
}
function setLinkClicked()
{
linkClicked=1;
}
function doOnLoad()
{
var ahrefs= document.getElementsByTagName('a');
for(var i=0; i<>
ahrefs[i].onclick=setLinkClicked;
linkClicked=0;
}
\<\/script>



Az oldal BODY tagjéhez hozzá kell adni a JS-t hívó függvényt. A JS függvénynek betöltés után kell lefutni, különben nem látja a DOM elemeket.

Nincsenek megjegyzések: