Я использую редактируемый по содержимому iframe для создания подсветки синтаксиса в javascript, и одна из самых важных вещей - уметь правильно кодировать отступ.
Следующий код работает так же, как и в Firefox:
// Create one indent character
var range = window.getSelection().getRangeAt(0);
var newTextNode = document.createTextNode(Language.tabChar);
range.insertNode(newTextNode);
range.setStartAfter(newTextNode);
Создает символ табуляции и перемещает курсор к правой стороне символа. В Chrome и Safari символ вставляется, но курсор не перемещается вправо от него.
Я проверил объект диапазона в Chrome и Firefox, а затем заметил, что объект диапазона Firefox гораздо богаче, чем объект Chrome. Мне не удалось найти какие-либо характеристики объекта диапазона в WebKit.
Как я могу заставить этот код работать и для webkit и для Firefox?
Спасибо!