У меня есть некоторый JavaScript, который манипулирует HTML на основе того, что выбрал пользователь. Для реальных браузеров методы, которые я использую, используют объект «Range», полученный следующим образом:
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var content = range.toString();
Переменная содержимого содержит весь выделенный текст, который работает нормально. Однако я обнаружил, что не могу обнаружить переводы строк в результирующей строке. Например:
Выбранный текст:
а
1010 * Защита *
ГХИ
range.toString () имеет значение "abcdefghi".
Любой поиск по специальным символам не возвращает ни одного экземпляра \ n \ f \ r или даже \ s. Однако, если я записываю переменную в редактируемый элемент управления, переводы строки снова появляются.
Кто-нибудь знает, что мне не хватает?
Может быть уместно, что эти выборы и манипуляции находятся на редактируемых div. Такое же поведение проявляется в Chrome, FireFox и Opera. Удивительно, но IE все равно нужен совершенно другой код, но здесь нет никаких проблем, кроме того, что это просто IE.
Большое спасибо.