javascript 模拟监听功能

setInterval(initLogo,6000);
function initLogo(){
 //对需要监听的对象监听
 setInterval(initLogo,6000);
}
如果是局部刷新页面(监听),则不能使用这种方法,因为页面没有刷新,请求是每隔一段时间就会发送请求,这样请求数量就会以指数增长,这样会导致server崩溃

function listening(){
 //对需要监听的对象监听
 setTimeout(listening;6000);
}
则不会出现上面描述的问题

function whichElement(e)
{
var targ;
var path = "<" + currenPath + ">";
if (SDCARD_STATU_ENABLED != sdCardStatu)
{
alert(dj('sd_label_no_sd_card'));
return;
}
if (!e)
{
var e=window.event;
}

if (e.target)
{
targ=e.target;
}
else if (e.srcElement)
{
targ=e.srcElement;
}
if (targ.nodeType==3) // defeat Safari bug
{
targ = targ.parentNode;
}

if (window.win && (window.win.closed == false))
{
window.win.close();
}
path = path.replace(/\%/g, "%25");
path = path.replace(/\ /g, "%20");
path = path.replace(/\</g, "%3C");
path = path.replace(/\
>/g, "%3E");
path = path.replace(/\//g, "%2F");
path = path.replace(/\&/g, "%26");
path = path.replace(/\=/g, "%3D");
path = path.replace(/\#/g, "%23");
var url = 'sd_upload.htm?path='+path;
win = window.open(url, 'tree', 'scrollbars=yes,resizable=no,width=720,height=480');
watchChildWin();
$("#button_upload").attr("disabled", true);
$("#button_upload").css("color", "#ACA899");
}

function watchChildWin()
{
try
{
if ( null == win.document || (win.closed == true)) //firefox Google Opera
{
setControlDisable("button_upload", false);
$("#button_upload").attr("style", "color:#000000");
}
else
{
setTimeout("watchChildWin()", 100);
}
}
catch(e) //ie
{
setControlDisable("button_upload", false);
$("#button_upload").attr("style", "color:#000000");
}
}

 

posted @ 2011-10-15 23:02  胖鹅  阅读(161)  评论(0编辑  收藏  举报