Ich kochte ein Muster, um HTML-Elemente zu erstellen und zu erweitern, die ihren Prototyp verwenden. Dies funktioniert wie ein Zauber in Nicht-IE-Browsern. Beispielcode kann gefunden werden @jsbin (siehe Seitenquelle)Gibt es wirklich keine Möglichkeit, den Prototyp eines HTML-Elements in IE (<8) zu offenbaren?
Der Vorteil dieses Musters sollte Geschwindigkeit sein (die Methoden sind in der Elementprototypenkette, so dass sie einmal referenziert werden). Du hast richtig geraten: IE no go. In IE < 8 ist der Prototyp von HTML-Elementen versteckt/nicht zugänglich, so dass Sie für jedes von Ihnen erstellte Element erneut auf die Nicht-Standardmethoden verweisen müssen (wodurch Sie viele Hinweise erhalten, wenn Sie das Muster intensiv verwenden). Ich habe das Internet nach Lösungen durchsucht, aber nur komplexe Workarounds gefunden. Gibt es wirklich keine Möglichkeit, auf einen HTML-Elemente-Prototyp in IE zuzugreifen?
ist der Prototyp von HTML-Elementen in IE8? Wenn ja, wie wird darauf zugegriffen? – Helephant
Es ist, soweit ich verstanden habe. Und es wird über den Prototyp zugegriffen (wie document.getElementById ('irgendeinelement'). Prototyp). In der Zwischenzeit habe ich einen DOM-Wrapper geschrieben, um leak free javascript verwenden zu können. – KooiInc
@Helephant Ja, es ist zugänglich. Sie können zum Beispiel auf "Element.prototype" zugreifen und Methoden hinzufügen. Dies wird durch die neueste Version des [DOM Living Standard] (https://dom.spec.whatwg.org/) garantiert, die Dinge wie "Element" als [WebIDL] definiert (http://www.w3.org)/TR/WebIDL) Schnittstellen, die die explizite Implikation mit sich bringen, dass sie im globalen Umfang zugänglich sein sollten und ihre Prototypen modifizierbar sein sollten. –