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.
das lustige ist, dass dieser kleine code in allen browsern auch FF funzt:
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)
Danke...
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.
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>
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;
}
Kommentar