var oReq = new XMLHttpRequest();这么写是FOX里的  你写的只能在IE用

解决方案 »

  1.   

    var createHttp = new Object();
    createHttp.newXMLHttpRequest = function(){
    var xmlreq = false;
    if(window.XMLHttpRequest){
    xmlreq = new XMLHttpRequest();
    }else if(window.ActiveXObject){
    try{
    xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e1){
    try{
    xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e2){}
    }
    }
    return xmlreq;
    }最好这么写 先判断下是IE还是FOX
      

  2.   


    var createHttp = new Object();
    createHttp.newXMLHttpRequest = function()
    {
        var xmlreq = false;
        if(window.XMLHttpRequest)
        {
            xmlreq = new XMLHttpRequest();
        }else if(window.ActiveXObject)
        {
            try
            {
                xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e1)
            {
                try
                {
                    xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(e2){}
            }
        }
        return xmlreq;
    }function IMGFind(oImg,pic)
    {   
        createHttp.open("Get",pic,false);
        createHttp.send();
        alert(createHttp.status);
        if(createHttp.status==404)
        {
            oImg.style.display="none";                
            setTimeout(function(){IMGFind(oImg, pic)},3000); 
        }
        else
        {
            oImg.style.display="";
        }
    }代码改成这样 IE都不行了
      

  3.   

    function IMGFind(oImg,pic)
    {
        var req = createHttp.newXMLHttpRequest();
        req.open("Get",pic,false);
        req.send();
        alert(req.status);
        if(req.status==404)
        {
            oImg.style.display="none";                
            setTimeout(function(){IMGFind(oImg, pic)},3000); 
        }
        else
        {
            oImg.style.display="";
        }
    }
      

  4.   

    function IMGFind(oImg, pic){
        /* Create a new XMLHttpRequest object to talk to the Web server */
        var oReq = false;
        /*@cc_on @*/
        /*@if (@_jscript_version >= 5)
         try {
          oReq = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
             try {
              oReq = new ActiveXObject("Microsoft.XMLHTTP");
             } catch (e2) {
              oReq = false;
             }
         }
         @end @*/
        if (!oReq && typeof XMLHttpRequest != 'undefined') {
            oReq = new XMLHttpRequest();
        }
        
        oReq.open("Get", pic, false);
        oReq.send();
        if (oReq.status == 404) {
            oImg.style.display = "none";
            setTimeout(function(){
                IMGFind(oImg, pic)
            }, 3000);
        }
        else {
            oImg.style.display = "";
        }
    }
      

  5.   

    RE:syukugai
    ---------------------
    你这样的好像也和我上面的代码有什么不同呢
    你的关没有判断当为FireFox的时候怎么办啊
    你只是判断当有这个对像的时候执行
    这样没有效果啊
      

  6.   

    其实都没有什么不同.
    不过IE和FF下使用的组件的名字不同罢了.这都是标准的写法.
    2楼的写法也可以.
    就象在4楼的回答一样.
    你在3楼的代码之所以不好用,
    是因为你根本没有调用var req = createHttp.newXMLHttpRequest();来初始化.我上面的代码其实只是展示一下也可以这样来写.
    意义都一样.对了,/*@cc_on @*/是IE的条件编译.