IE Funzt OPERA und Firefox nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • IE Funzt OPERA und Firefox nicht

    folgender JAVASCRIPT Code

    PHP-Code:
    var resObject;
    function 
    erzXmlHttpRequest()
    {
        var 
    resObject=null;
        try{
            
    resObject = new ActivXObject("Microsoft.XMLHTTP");
            
        }
        catch(
    Error)
        {
            try{
                
    resObject= new ActiveXObject("MSXML2.XMLHTTP");
                
            }
            catch(
    ERROR)
            {
                try{
                    
    resObject=new XMLHttpRequest();
                    
                }
                catch(
    ERROR)
                {
                    
    alert("Erzeugung fehlgeschlagen");
                }
            }
        }
        return 
    resObject;
    }

    function 
    getCenter(){


        
    resObject.open('get',"Site.php?content=center&catch="+Math.random(),true);
        
    resObject.onreadystatechange handleResponseCenter;
        
    resObject.send(null);
        
    }

    function 
    handleResponseCenter()
    {
        
        if(
    resObject.readystate==4)
        {
            
                    
    document.getElementById('reg').style.display='none';
            
    document.getElementById('ohnereg').style.display='none';
            
    document.getElementById('mitte').style.display='none';
            
    document.getElementById('stadt_head').style.display='none';
            
    document.getElementById('stadt_content').style.display='none';
            
    document.getElementById('center').innerHTML="Center Anlegen<br>"+resObject.responseText;
            
    document.getElementById('center').style.display='block';
        }
    }
    resObject=erzXmlHttpRequest(); 
    zeigt mir im IE die korrekte Ausgabe , im Firefox und im Opera jedoch nicht
    irgendjemand eine Idee warum? Auch die Fehlerkonsole im Firefox zeigt keine Meldung.
    Zuletzt geändert von newphp; 21.03.2007, 11:13.

  • #2
    resObject ist wirklich erzeugt?
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Ja

      im Opera und Firefox wird das

      PHP-Code:
      try{
                      
      resObject=new XMLHttpRequest();
                      
                  } 
      gemacht, habe ich getestet funktoniert

      Kommentar


      • #4
        Ich mache das seit Jahr und Tag so und hatte bis jetzt eigentlich keine Probs damit
        PHP-Code:
        /*@cc_on @*/
            /*@if (@_jscript_version >= 5)
            // JScript gives us Conditional compilation, we can cope with old IE versions.
            // and security blocked creation of the objects.
            try {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
            try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (E) {
            xmlhttp = false;
            }
            }
            @end @*/
            
        if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
                try {
                    
        xmlhttp = new XMLHttpRequest();
                } catch (
        e) {
                    
        xmlhttp=false;
                }
            }
            if (!
        xmlhttp && window.createRequest) {
                try {
                    
        xmlhttp window.createRequest();
                } catch (
        e) {
                    
        xmlhttp=false;
                }
            } 
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          hab das jetzt so eingebaut

          PHP-Code:
          function getCenter(){

               if (!
          resObject && typeof XMLHttpRequest!='undefined') {
                  try {
                      
          resObject = new XMLHttpRequest();
                  } catch (
          e) {
                     
          resObject=false;
                  }
              }
              if (!
          resObject && window.erzXmlHttpRequest) {
                  try {
                     
          resObject window.erzXmlHttpRequest();
                  } catch (
          e) {
                      
          resObject=false;
                  }
              }
              
          resObject.open('get',"makeSite.php?content=center&catch="+Math.random(),true);
              
          resObject.onreadystatechange handleResponseCenter;
              
          resObject.send(null);
              

          leider keine Änderung

          überprüfe die Erzeugung von resObject

          PHP-Code:
          function erzXmlHttpRequest()
          {
              

              var 
          resObject=null;
              try{
                  
          resObject = new ActivXObject("Microsoft.XMLHTTP");
                  
          alert('Microsoft.XMLHTTP');
                  
              }
              catch(
          Error)
              {
                  try{
                      
          resObject= new ActiveXObject("MSXML2.XMLHTTP");
                      
          alert('MSXML2.XMLHTTP');
                      
                  }
                  catch(
          ERROR)
                  {
                      try{
                          
          resObject=new XMLHttpRequest();
                          
          alert('XMLHttpRequest');
                          
                      }
                      catch(
          ERROR)
                      {
                          
          alert("Erzeugung fehlgeschlagen");
                      }
                  }
              }
              return 
          resObject;

          im IE habe ich beim laden der seite eine Meldung 'MSXML2.XMLHTTP'
          im Opera und Firefox XMLHttpRequest
          Zuletzt geändert von newphp; 21.03.2007, 12:06.

          Kommentar


          • #6
            nach einem Test der einzelenen Funktionen bin ich der Ansicht das hier der Fehler liegt

            PHP-Code:

            function handleResponseCenter()
            {
               
            //wird im IE erkannt im Opera und Firefox nicht 
                
            if(resObject.readystate==4)
                {
                    
                            
            document.getElementById('reg').style.display='none';
                    
            document.getElementById('ohnereg').style.display='none';
                    
            document.getElementById('mitte').style.display='none';
                    
            document.getElementById('stadt_head').style.display='none';
                    
            document.getElementById('stadt_content').style.display='none';
                    
            document.getElementById('center').innerHTML="Center Anlegen<br>"+resObject.responseText;
                    
            document.getElementById('center').style.display='block';
                }

            Kommentar


            • #7
              ich habs

              PHP-Code:
              function handleResponseCenter()
              {
                  
              //nicht readystate
                 // sondern readyState
                  
              if(resObject.readyState==4)
                  {
                      
                              
              document.getElementById('reg').style.display='none';
                      
              document.getElementById('ohnereg').style.display='none';
                      
              document.getElementById('mitte').style.display='none';
                      
              document.getElementById('stadt_head').style.display='none';
                      
              document.getElementById('stadt_content').style.display='none';
                      
              document.getElementById('center').innerHTML="Center Anlegen<br>"+resObject.responseText;
                      
              document.getElementById('center').style.display='block';
                  }

              php ist mir echt lieber ;-)
              Zuletzt geändert von newphp; 21.03.2007, 12:19.

              Kommentar

              Lädt...
              X