Hallo,
function MyObject() {}
MyObject.prototype.answer = 42;with({Object : MyObject})
document.writeln({}.answer); // 42document.writeln({}.answer); // undefined
// funktioniert im IE nur mit new Object() statt {}
Wow, sowas habe ich auch noch nie gesehen. Hätte "Object" für ein reserviertes Wort gehalten, ist es aber nicht. Seltsam, seltsam...
Was dein Problem mit dem IE betrifft, so liegt das offenbar daran, dass dort gewisse Eigenschaften/Methoden von window.document als nicht iterabel gekennzeichnet sind (d.h. .propertyIsEnumerable()===false gilt), so wie z.B. die length-Eigenschaft eines Arrays und verschiedene andere in nativen JavaScript-Objekten. Nach allem, was ich darüber herausgefunden habe, gibt es keine Möglichkeit, propertyIsEnumerable von "außen" zu beeinflussen.
Gruß, Don P