これは簡単なはずですが (少なくとも他の誰も同様の問題を抱えていないようです)、どこが壊れているのかわかりません。
アプリのページに入力されたデータベースにマークダウンされたテキストを保存しています。テキストは WMD を使用して入力され、ライブ プレビューは正しく表示されます。
別のページでは、マークダウン テキストを取得し、Showdown.js を使用して HTML クライアント側に変換して表示しています。
私がこのテキストを持っているとしましょう:
The quick **brown** fox jumped over the *lazy* dogs.
1. one
1. two
4. three
17. four
jQueryドキュメントの準備完了イベントでこのJavascriptのスニペットを使用して変換しています:
var sd = new Attacklab.showdown.converter();
$(".ClassOfThingsIWantConverted").each(function() {
this.innerHTML = sd.makeHtml($(this).html());
}
これが私の問題だと思いますが、ほとんど機能します。
FireFox では、期待どおりの結果が得られました。
素早い茶色のキツネは怠け者の犬を飛び越えました。
- 1
- 2
- 三
- 四
しかし、IE (7 および 6) では、次のようになります。
素早い茶色のキツネは怠け者の犬を飛び越えました。1. 1 1. 2 4. 3 17. 4
どうやら、IE は私のマークダウン コードのブレークを削除し、スペースに変換しているようです。(スクリプトを実行する前に) 元のコードのソースを表示すると、コンテナー DIV 内にブレークがあります。
私は何を間違っていますか?
アップデート
これは IE の innerHTML/innerText の「癖」が原因であり、データ バインドされたコントロールを使用する ASP.Net ページでこれについて言及する必要がありました。