Est-il un moyen de garder execCommand(“insertHTML”) à partir de suppression d'attributs dans chrome?

Contexte est Chrome 37.0.2062.120 m.

Je suis en utilisant execCommand pour insérer du code html dans un modifiable div. Mon execCommand appel ressemble à ceci:

function insertHTML(){
    document.execCommand('insertHTML', false, '<span id="myId">hi</span>');
}

Lorsque l'modifiable div ressemble à ceci:

<div contenteditable="true">
    some [insertion point] content
</div> 

et j'utilise execCommand pour insérer du code html dans un contenteditable div, tous les attributs de l'HTML sont insérés comme prévu et je me retrouve avec ceci:

<div contenteditable="true">
    some <span id="myId">hi</span> content
</div> 

Cependant, lorsque j'insère exactement le même code html dans cette structure:

<div contenteditable="true">
    some content
    <div>more [insertion point] content</div>
</div>

Les attributs sont retirés de la durée de l'insertion et elle finit par ressembler à ceci:

<div contenteditable="true">
    some content
    <div>more <span style="font-size: 10pt;">hi</span> content</div>
</div>

Est-il un moyen pour éviter cela?

OriginalL'auteur sonicblis | 2014-09-19