objekte auslesen (for in)

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

  • objekte auslesen (for in)

    Hallo,

    also ich beschäftige mich grad mit einem Kuriosum und vielleicht kein mir einer helfen. Ich hab auf meiner Tools-Webseite (http://tools.nquee.com/javascript-objekt-inspector.htm) eine Art Javascript-Objekt-Inspektor gebaut, der es vereinfachen soll, herauszufinden welche Eigenschaften usw. ein Objekt wie "document", "navigator", "window" usw. hat.

    bis auf "document" klappt das alles auch. Laut selfhtml lässt sich mit einer for in-schleife das objekt "document" nicht im firefox durchlaufen.

    Die for-in-Schleife können Sie in Opera bis einschließlich Version 6 nur auf selbstdefinierte Objekte und Variablen anwenden. Bei vordefinierten Objekten bleibt die Schleife wirkungslos. Der Internet Explorer kennt diese Schleifenart erst ab Version 4.01. Mozilla Firefox kennt zwar die for-in-Schleife, das Beispiel bricht jedoch beim Lesen der Eigenschaft document.domConfig mit einem Zugriffsfehler ab.
    das lustige ist, dass dieser kleine code in allen browsern auch FF funzt:
    PHP-Code:
    <script language="javascript" type="text/javascript">
        function 
    objects(strobj)
        {
            
    strobj = eval(strobj);
            for (var 
    attribut in strobj)
              
    document.write(attribut ': ' navigator[attribut] + '<br>');
        }
        
    objects('document');
    </
    script
    In meiner Seite mach ich im Grunde nix anderes (das JS ist in meiner Seite eingebettet so das ihr euch den Code ansehen könnt), halt nur ein bissl umfangreicher. Kann mir einer sagen, was ich in meinem Code falsch , das "document" nicht geht. das lustige im IE bekomm ich auch einen Fehler obwohl das dort gehen sollte.
    Bin grad bissl überfordert - seh nicht mehr durch.

    Hier mal die eigentlich wichtigste Funktion meiner Seite (es wird alles erstmal in ein Array gepackt)

    PHP-Code:
        function getObjects(strObject)
        {
            
    strObject strObject.replace(/\.$/,'');
            var 
    objObject = eval(strObject);
            var 
    arrReturn = new Array();
            var 
    intArr    0;
            var 
    boolFound false;

            
    /*
            if (($.browser.mozilla) && (strObject == 'document'))
            {
                return 'In this browser no supported.';
            }
            */

            
    for (var attr in objObject)
            {
                
    arrReturn[intArr] = new Object();
                
    arrReturn[intArr]['object']    = strObject+'.'+attr;
                
    arrReturn[intArr]['subobject'] = attr;
                
    arrReturn[intArr]['value']     = objObject[attr];
                
    arrReturn[intArr]['type']      = typeof(objObject[attr]);
                
    intArr++;
                
    boolFound true;
            }

            if (!
    boolFound)
            {
                
    arrReturn[intArr] = new Object();
                
    arrReturn[intArr]['object']    = strObject;
                
    arrReturn[intArr]['subobject'] = strObject;
                
    arrReturn[intArr]['value']     = objObject;
                
    arrReturn[intArr]['type']      = typeof(objObject);
                
    intArr++;

            }

            return 
    arrReturn;
        } 
    Danke...

  • #2
    Re: objekte auslesen (for in)

    (...) Opera bis einschließlich Version 6 (...) Der Internet Explorer (...) ab Version 4.01. Mozilla Firefox (...) bricht jedoch beim Lesen der Eigenschaft document.domConfig mit einem Zugriffsfehler ab.
    Nutzt du den Opera <6? IE <4? Firefox auf das document.domConfig-Objekt? SelfHTML sagt nicht, dass es bei modernen Browsern nicht funzt!

    Kommentar

    Lädt...
    X