论坛首页 AJAX版 JavaScript

关于页面unload之后发送一个请求的问题

浏览 1108 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-08-31
现在想在页面刷新或者页面跳转的时候,发一个http请求,使用如下方法,有时候可以有时候请求
发不出去,在httpwatch下面会出现Aborted的信息,请求没有发送出去。
-----代码---------------------start
/**
* 用户关闭页面的时候,给服务器发一个http链接
*/
function onlineWindowUnload() {
    if (document.callUrlInnerFrame)
    {
document.callUrlInnerFrame.location.href=“http://www.javaeye.com”;
//延时一段时间
var i ;
    for (i = 0 ;i < 200 ;i++) {
i = i + 1;
    }
}

}

window.onunload  =onlineWindowUnload;

-----代码---------------------end

有没有什么方法,可以让页面在关闭的时候,可以sleep一段时间让我这个请求能够顺利发送出去?
   
最后更新时间:2007-09-01
不是很理解你的需求,但你的代码可以这么写

function onlineWindowUnload() { 
if (typeof document.callUrlInnerFrame != 'undefined')//建议你这么写 
{ 
setTimeout('document.callUrlInnerFrame.location.href=“http://www.javaeye.com"',1000);//延时一秒后执行跳转

}
}

   
0 请登录后投票
最后更新时间:2007-09-02
lz可以试试window.onbeforeunload事件看看
   
0 请登录后投票
最后更新时间:2007-09-02
下面的代码应该有你要的东西。

function as_click () {
urchinTracker ('/asclick');
}
 if(typeof window.addEventListener != 'undefined')
 {
  window.addEventListener('load', adsense_init, false);
 }
 else if(typeof document.addEventListener != 'undefined')
 {
  document.addEventListener('load', adsense_init, false);
 }
 else if(typeof window.attachEvent != 'undefined')
 {
  window.attachEvent('onload', adsense_init);
 }
  else
 {
   if(typeof window.onload == 'function')
 {
  var existing = onload;
  window.onload = function()
 {
  existing();
  adsense_init();
 };
 }
 else
 {
  window.onload = adsense_init;
 }
 }
function adsense_init () {
if (document.all) {  
var el = document.getElementsByTagName("iframe");
for(var i = 0; i < el.length; i++) {
if(el[i].src.indexOf('googlesyndication.com') > -1) {
el[i].onfocus =  as_click;
}
}
} else {   window.addEventListener('beforeunload', doPageExit, false);
window.addEventListener('mousemove', getMouse, true);
}
}
var px;
var py;
function getMouse(e) {
px=e.pageX;
py=e.clientY;
}
function findY(obj) {
var y = 0;
while (obj) {
y += obj.offsetTop;
obj = obj.offsetParent;
}
return(y);
}
function findX(obj) {
var x = 0;
while (obj) {
x += obj.offsetLeft;
obj = obj.offsetParent;
}
return(x);
}
function doPageExit(e) {
ad = document.getElementsByTagName("iframe");
for (i=0; i<ad.length; i++) {
var adLeft = findX(ad[i]);
var adTop = findY(ad[i]);
var inFrameX = (px > (adLeft - 10) && px < (parseInt(adLeft) + parseInt(ad[i].width) + 15));
var inFrameY = (py > (adTop - 10) && py < (parseInt(adTop) + parseInt(ad[i].height) + 10));
if (inFrameY && inFrameX) {
urchinTracker('/asclick');
}
}
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
   
0 请登录后投票
论坛首页 AJAX版 JavaScript

跳转论坛:
JavaEye推荐