Alexander Foken: (JavaScript) Objekte, Eigenschaften, Attribute

Beitrag lesen

Einen fröhlichen Sonntag an Alle!

Moin Moin !

Ich bin seit einiger Zeit dabei, mir eine Webseite zu schaffen, die alle Objekte, Eigenschaften und Attribute anzeigen soll, die ein Browser kennt.
Beim IE 5.0 und 5.5, NS 4.73 und 6.2.2 und bei Mozilla bis 0.9.9 bin ich mehr oder weniger erfolgreich, nur der Opera 6.0 Build 1010 weigert sich, mir irgendetwas zu verraten?
Dieser Browser ignoriert Schleifen wie "for (var in objekt)..."
Gibt es dazu eine Alternative?
Das Beispiel ist zu finden unter http://www.jelue.de/tifhu/domtest2.html
Es kommt zu _keiner_ Fehlermeldung beim Durchlaufen der for-Schleife. Es ist egal, wie sich der Browser identifiziert.
Es macht den Eindruck, das Opera unbekannte Befehle einfach übergeht.
Kann das sein?
Gruß
Günter
p.s.: getestet unter Win95, WinME und Win2000

Ich habe etwas rumgetestet, Du kannst einfach die vorhandenen Objekte nicht "scannen", warum auch immer Opera das nicht zuläßt.

Oder, um SelfHTML zu zitieren: http://selfhtml.teamone.de/javascript/sprache/schleifen.htm#for

Die for in-Schleife können Sie in Opera nur auf selbstdefinierte Objekte und Variablen anwenden. Bei vordefinierte Objekten bleibt die Schleife wirkungslos.

Alexander

Mein Testsystem: Win2000pro englisch, Opera 6.03 Build 1107

Testscript:

<html>
<body>
<!-- jaja, der W3C-Validator springt im Dreieck, aber ich will ja nur Javascript testen ... -->
<h1>Mal sehen:</h2>
<h2>Testarray</h2>
<script language="Javascript">
<!--
var testarray=new Array();
testarray['Hund']='Bello';
testarray['Katze']='Mietzi';
testarray['Maus']='Mickey';

for (var x in testarray) {
 document.write(x);
 document.writeln('<BR>');
}
//--></script>
<h2>window-Object</h2>
<script language="Javascript">
<!--
for (var y in window) {
 document.write(y);
 document.writeln('<BR>');
}
//--></script>
<h2>eigenes Objekt</h2>
<script language="Javascript">
<!--
function Testobj()
{
 this.Hund='Bello';
 this.Katze='Mietzi';
 this.Maus='Mickey';
}
var testobj=new Testobj();
for (var z in testobj) {
 document.write(z);
 document.writeln('<BR>');
}
//--></script>
<h2>document-Object</h2>
<script language="Javascript">
<!--
for (var y2 in window) {
 document.write(y2);
 document.writeln('<BR>');
}
//--></script>
<h2>Paranoia: nochmal testarray</h2>
<script language="Javascript">
<!--
var testarray2=new Array();
testarray2['Hund']='Bello';
testarray2['Katze']='Mietzi';
testarray2['Maus']='Mickey';

for (var x2 in testarray) {
 document.write(x2);
 document.writeln('<BR>');
}
//--></script>
<h2>Das war's</h2>

Ausgabe:

Mal sehen:

Testarray

Hund
Katze
Maus

window-Object

eigenes Objekt

Hund
Katze
Maus

document-Object

Paranoia: nochmal testarray

Hund
Katze
Maus

Das war's