我无法在IE中阅读silverlight标签!

时间:2009-08-06 17:36:27

标签: silverlight

这真的很奇怪。

这是一个简单的标记

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

并执行alert(document.getElementById(“div1”)。innerHTML);告诉我

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

Firefox或谷歌浏览器显示正确的标记。只有IE(在IE7上测试过)才能显示出奇怪的标记。

1 个答案:

答案 0 :(得分:2)

在这种情况下,Chrome和Firefox会返回原始文档提供的html。

IE从未这样做过,一旦解析了HTML并创建了DOM,它就会丢弃原始文档文本。当你要求innerHTML时,它通过分析元素中保存的DOM节点和属性来构造一个新的HTML字符串。

有时这意味着您将看到解析器和IE的其他组件所做的突变的结果。在这种情况下,IE中负责处理被选对象的组件以及可能的Silverlight本身已经改变了<object>属性。