我收集有关用户在网页上执行操作的数据。我希望在访问者离开页面时停止数据收集。如果访问者导航到新页面而没有下面脚本的问题,我可以收集数据。但是,如果访问者关闭选项卡或浏览器窗口,则数据将丢失。无论访问者如何离开页面,我如何保留将其发送到数据库的功能?
theData = '';
window.onbeforeunload = pageUnload;
function pageUnload(){
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://www.thesite.com/collector.php?data="+theData+"",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send();
}