創建一個功能,我有以下代碼來調用的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個事件。我曾嘗試創建1個函數,但它在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(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'中進行ajax調用。 – djd 2012-02-26 02:56:56