在B/S结构中
案例:比如在线考试系统,需要经常间隔一段时间检查用户是否正常登陆。(当前页面不允许刷新)判断的采用方法
1.用ajax技术 如
function InitXMLHTTP(){
    var oXMLDoc;
    if(window.XMLHttpRequest) { 
        oXMLDoc = new XMLHttpRequest();
        if (oXMLDoc.overrideMimeType) {
            oXMLDoc.overrideMimeType("text/xml");
        }
    }
    else if(window.ActiveXObject) {
        try{
                oXMLDoc = new ActiveXObject("Msxml2.XMLHTTP");
            }catch (e){
        try{
                oXMLDoc = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
        }
    }
    if (!oXMLDoc) { 
        window.alert("不能创建XMLHttpRequest对象实例.");
        oXMLDoc = null;
    }
    return oXMLDoc;
}
 var oXMLDoc = InitXMLHTTP(); 
        if(oXMLDoc){   
            var sURL = "check.aspx";       
            oXMLDoc.open("POST",sURL,false);
            oXMLDoc.setRequestHeader("Content-Type", "text/xml");
            oXMLDoc.setRequestHeader("charset", "utf-8");
            oXMLDoc.send();
}
根据检查页面的返回值进行相应的操作
■存在弊端:如果不支持以上对象检测失效
2.用iframe方法
通过iframe中的子页面改变当前页面的变量状态,方法应当可效
■用框架终究别扭,用此也许是好方法
3.XXXX
期待更好的方法。

解决方案 »

  1.   


    <html>
    <div id='div'>
    </div>
    </html>
    <script id='js' src='a.xx'>
    </script> 
    <script>
    function response()
    {
        if(array)
            {
                var html='';
                for(var i=0;i<array.length;i++)
                {
                    html+=array[i]+'  ';
                }
                document.getElementById('div').innerHTML=html;
            }
            importJS('a.xx');
    }
    function importJS(src) {      
        document.getElementById('js').src='a.xx';

    }  setInterval(response,5000);
    </script> 
    a.xxarray = ["1.jpg", "2.jpg", "b.jpg"]; 
      

  2.   


    你可以设置 src='xxx.aspx' or xxx.ashx然后在服务器端 做操作,之后输出相应结果就可以了
      

  3.   

     function doLogin(myvalue)
        {
            //当窗口关闭时发生
            //判断当前鼠标点击的位置(X,Y)
            //判断是否按下Alt+F4
            //参数myvalue判断是否重新登陆( 1:重新登陆,0:刷新按钮 或是返回主页 或是其它操作)
            if (window.event.clientX<0 && event.clientY<0||event.altKey || myvalue == 1)
            {
                //退出系统
                window.open("doLogout.aspx?wherepage=1");
            }
        }
        
      然后再  onunload=调用即可