에 하나 개의 함수를 만드는 나는에 onLoad 및 onBeforeUnload 이벤트를 호출하는 다음 코드가 : 위대한 작품을방법에 onLoad 및 onBeforeUnload 이벤트
<script type="text/javascript">
var startime = (new Date()).getTime();
window.onload = record_visit_ol; //ol - onload
window.onbeforeunload = record_visit_obul; //obul = onbeforeunload
function record_visit_ol() {
var x = (window.ActiveXObject) ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
x.open("GET", "count_visit.php?t=" + (((new Date()).getTime() - startime)/1000)+"&type=ol&url="+escape(window.location.href), false);
x.send(null);
}
function record_visit_obul() {
var x = (window.ActiveXObject) ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
x.open("GET", "count_visit.php?t=" + (((new Date()).getTime() - startime)/1000)+"&type=obul&url="+escape(window.location.href), false);
x.send(null);
}
합니다. 그러나, 나는 2 개의 사건을위한 2 개의 기능이있다. 나는 하나의 함수 만 만들려고했지만 onLoad 동안 두 이벤트를 발생시킨다.
<script type="text/javascript">
var startime = (new Date()).getTime();
window.onload = record_visit('ol'); //ol - onload
window.onbeforeunload = record_visit('obul'); //obul = onbeforeunload
function record_visit(value) {
var x = (window.ActiveXObject) ? new ActiveXObject('Microsoft.XMLHTTP') : new XMLHttpRequest();
x.open("GET", "count_visit.php?t=" + (((new Date()).getTime() - startime)/1000)+"&type="+value+"&url="+escape(window.location.href), false);
x.send(null);
}
당신이 다른 브라우저에서이를 확인. 내가 정확히 기억한다면 모든 브라우저가'onbeforeunload'에서 아약스 호출을하도록 내버려 두진 않을 것이다. – djd