2009-08-06 6 views
2

C'est vraiment bizarre.Je ne peux pas lire la balise silverlight dans IE!

est ici d'un simple balisage

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

et alerte d'exécution (document.getElementById ("div1") innerHTML.); me montre

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

Firefox ou google chrome me montre le balisage correct. Seul IE (testé sur IE7) me montre ci-dessus étrange balisage.

+0

Je ne suis pas sûr de ce que vous demandez ici, mais il faut s'attendre à ce que l'objet Silverlight soit rendu différemment selon le navigateur. Ceci est fait par le fichier Silverlight.JS. – PortageMonkey

+0

Pourquoi ne pas donner un identifiant à l'objet? – PortageMonkey

+0

J'écris un plug-in éditeur de texte riche yui qui insère le contenu silverlight. L'éditeur utilise iframe à l'intérieur et copie le contenu de l'iframe dans textarea avant l'envoi. Et le marquage des vis IE comme ci-dessus. –

Répondre

2

Chrome et Firefox renvoient le code HTML fourni par le document d'origine dans ce cas.

IE ne fait jamais cela, une fois qu'il a analysé HTML et créer le DOM, il rejette le texte du document original. Lorsque vous demandez innerHTML, il construit une nouvelle chaîne HTML en analysant les nœuds DOM et les attributs contenus dans l'élément.

Cela signifie parfois que vous verrez le résultat des mutations faites par l'analyseur et d'autres composants de IE. Dans ce cas, les composants de IE chargés du traitement des objets placés et éventuellement Silverlight lui-même ont muté les attributs <object>.

Questions connexes