Я не могу прочитать тег Silverlight в IE! - PullRequest
2 голосов
/ 06 августа 2009

Это действительно странно.

Вот простая разметка

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

и выполнение оповещения (document.getElementById ("div1"). InnerHTML); показывает мне

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

Firefox или Google Chrome показывает мне правильную разметку. Только IE (протестированный на IE7) показывает мне странную разметку.

1 Ответ

2 голосов
/ 07 августа 2009

В этом случае Chrome и Firefox возвращают HTML, предоставленный исходным документом.

IE никогда этого не делает, после анализа HTML и создания DOM он отбрасывает исходный текст документа. Когда вы запрашиваете innerHTML, он создает новую строку HTML, анализируя узлы DOM и атрибуты, содержащиеся в элементе.

Иногда это означает, что вы увидите результат мутаций, сделанных синтаксическим анализатором и другими компонентами IE. В этом случае компоненты в IE, отвечающие за обработку размещенных объектов и, возможно, самого Silverlight, мутировали атрибуты <object>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...