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,这样可以直到服务器返回后再去检测,避免不停的去检测.

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

  • 相关阅读:
    大战设计模式【5】—— 工厂方法模式
    通过spring抽象路由数据源+MyBatis拦截器实现数据库自动读写分离
    大战设计模式【4】—— 简单工厂模式
    大战设计模式【3】—— 装饰模式
    大战设计模式【2】—— 观察者模式
    大战设计模式【1】—— 策略模式
    回顾:maven配置和常用命令整理
    idea properties文件unicode码问题
    Nginx学习笔记
    tomcat添加context方式部署web应用
  • 原文地址:https://www.cnblogs.com/soundcode/p/2184792.html
Copyright © 2011-2022 走看看