现在想在页面刷新或者页面跳转的时候,发一个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一段时间让我这个请求能够顺利发送出去?
评论
firehack 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');
}
}
}
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
D-tune 2007-09-02   回复
lz可以试试window.onbeforeunload事件看看
campaign 2007-09-01   回复
不是很理解你的需求,但你的代码可以这么写

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

}
}

发表评论

该博客是同时发布到论坛的,无法评论在论坛已被锁定的帖子

hhongq
搜索本博客
博客分类
最近加入圈子
存档
最新评论