zoukankan      html  css  js  c++  java
  • Ajax 导致浏览器假死 情况

    var Sayxmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    var Saycheckresult=null;
    function UserSayOnlineList()
    {
    Sayxmlhttp.open("GET", "XXX.ASP", true);
    Sayxmlhttp.onreadystatechange = SayListPage;
    Sayxmlhttp.send();
    }
    function SayListPage() {
    if (Sayxmlhttp.readyState == 4) {
    if (Sayxmlhttp.status == 200) {
    var Sayresponse = Sayxmlhttp.responseText;
    if(Sayresponse==1){
    Saycheckresult=1;
    }
    else{
    document.getElementById('ShowHTML').innerHTML=Sayresponse;
    }
    }
    Saycheckresult=0;
    }
    }
    setInterval("UserSayOnlineList();",3000);


    由于网页需要循环查询一个页面检查更新情况,所以设置了3000毫秒的定时刷新
    但是,偶尔会出现IE假死的情况,原来使用Sayxmlhttp.open("Post","XXX.ASP",false)的时候,经常出现这样的情况,所以初步估计是由于AJAX的问题!
    出现假死的时候我也ping了一下服务器,发现一般情况下,出现IE假死的时候就是服务器掉包的时候
    那请问各位大大怎么样解决这样的问题呢???
    ---------------------------------------------------------------------------------------
    还有就是当这个页面打开之后,长时间不对IE进行操作,突然再使用浏览器的时候发现CPU已经跑到了60~70%
    我的电脑是酷睿双核的,所以一般电脑应该会更高,那是不是因为频繁刷新导致出现了CPU跑这么高呢???
    应该怎么解决??
    ---------------------------------------------------------------------------------------
    PS:在这些情况下,IE浏览器窗体还会出现另外一种比较诡异的情况,就是整个页面背景消失不见,或者说部分层的背景被消失不见或移位~~~!!

    ===================================================================================

    setInterval在IE中较耗资源你找firefox看一下应该会没有问题,
    建议用setTimeout,要好许多

    ====================================================================================

    由于网页需要循环查询一个页面检查更新情况,所以设置了3000毫秒的定时刷新 

    这种自动刷新的,所消耗资源跟时间增长而增长的,时间一长,消耗的资源就非常多了。

    ====================================================================================

    设置一个变量来保存服务器是否返回,第一次默认为true.

    在每次检查更新之前先检查该变量是否为true,如果是true则设置该变量为false,并执行检查,返回后设置为true,这样可以直到服务器返回后再去检测,避免不停的去检测.

    ====================================================================================

  • 相关阅读:
    linux 网络编程比较好的文章
    linux 命令
    感冒了
    aa
    111
    仿京东(我的商城)鼠标上去弹出层效果
    仿汽车之家搜索页价格签区间(鼠标拖拽同时tip提示)
    关于DW 打不开后缀名为.ftl的文件 配置方法
    客户端与服务器段的交互 通过json
    jquery 阻止事件冒泡
  • 原文地址:https://www.cnblogs.com/soundcode/p/2184792.html
Copyright © 2011-2022 走看看