Le texte multiligne est affiché comme une seule ligne dans firefox à l'aide de liaisons knockoutjs

Je viens de rencontrer un comportement assez étrange de texte multiligne dans Firefox en utilisant des liaisons knockoutjs. Voici mon violon: http://jsfiddle.net/NznVZ/ .

Nous avons une zone de texte et une portée avec une liaison de valeur / texte à la même valeur observable. Actuellement, Chrome et IE affichent un texte multiligne dans l'élément span, mais Firefox ne le fait pas (il concorde seulement plusieurs lignes en 1).

Quelqu'un peut-il expliquer ce qui est / où est le problème? Peut-être que quelqu'un avait déjà rencontré ce problème et avait une solution?

Merci d'avance

PS Firefox 12, IE 9, Chrome 18

Réglage de l' white-space: pre-wrap style de white-space: pre-wrap sur la portée va le faire fonctionner: http://jsfiddle.net/mbest/NznVZ/12/

Voici un peu de fond. IE et Chrome convertiront les nouvelles lignes de la chaîne en éléments HTML dans le code HTML lorsque le texte sera défini à l'aide de innerText , ce que Knockout utilise. Firefox n'a pas innerText donc Knockout utilise le textContent , qui ne fait aucune conversion de la chaîne. (Fait intéressant, Chrome combine Firefox lorsque vous utilisez l' white-space: pre-wrap style white-space: pre-wrap .)

C'EST À DIRE:

 <span>First line.<br>Second Line.<br>&nbsp;&nbsp;&nbsp;&nbsp; Third line preceded with 5 space characters.</span> 

Chrome (sans style espace blanc):

 <span>First line.<br>Second Line.<br> Third line preceded with 5 space characters.</span> 

Firefox et Chrome (avec style espace blanc):

 <span>First line. Second Line. Third line preceded with 5 space characters.</span> 

Si vous voulez une solution javascript: http://jsfiddle.net/9KAQX/

Le seul avantage ici est que les caractères "\ n" ne sont pas présents dans la portée.