2 Stimmen

Ich kann den Silverlight-Tag im IE nicht lesen!

Das ist wirklich seltsam.

Hier ein einfaches Markup

<div id="div1">
    <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="640px" height="480px">
    </object>
</div>

und die Ausführung von alert(document.getElementById("div1").innerHTML); zeigt mir

<OBJECT type=application/x-silverlight-2 height=480 width=640 data=data:application/x-oleobject;base64,QfXq3+HzJEysrJnDBxUISgAIAAAlQgAAnDEAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA></OBJECT>

Firefox oder Google Chrome zeigen mir korrekte Markups an. Nur der IE (getestet mit IE7) zeigt mir das obige seltsame Markup an.

2voto

AnthonyWJones Punkte 182582

Chrome und Firefox geben in diesem Fall die vom Originaldokument gelieferte HTML zurück.

Der IE tut das nie. Sobald er HTML geparst und das DOM erstellt hat, verwirft er den ursprünglichen Dokumenttext. Wenn Sie nach innerHTML fragen, konstruiert er eine neue HTML-Zeichenkette, indem er die DOM-Knoten und Attribute innerhalb des Elements analysiert.

Manchmal bedeutet dies, dass Sie das Ergebnis von Mutationen sehen, die durch den Parser und andere Komponenten des IE vorgenommen wurden. In diesem Fall haben Komponenten im IE, die für die Behandlung von Sited-Objekten verantwortlich sind, und möglicherweise Silverlight selbst die <object> 属性を持つ。

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X