ユーザーが選択したものに基づいてhtmlを操作するjavascriptがあります。実際のブラウザーの場合、私が使用しているメソッドは、次のように取得された「Range」オブジェクトを活用します。
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
content 変数には、選択したすべてのテキストが含まれており、正常に機能します。ただし、結果の文字列で改行を検出できないことがわかりました。例えば:
選択したテキストは次のとおりです。
abc
デフォルト
ギ
range.toString() は "abcdefghi" に評価されます。
特殊文字を検索しても、\n \f \r または \s のインスタンスは返されません。ただし、変数を編集可能なコントロールに書き出すと、改行が再び表示されます。
誰かが私が欠けているものを知っていますか?
これらの選択と操作が編集可能な div にあることが関連している可能性があります。Chrome、FireFox、および Opera でも同じ動作が見られます。驚くべきことに、とにかく IE はまったく異なるコードを必要としますが、IE であること以外に問題はありません。
どうもありがとう。