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