Я использую редактируемый 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);
Создает вкладку char и перемещает курсор в правую сторону символа. В Chrome и Safari вводится символ, но курсор не будет перемещаться справа от него.
Я проверил объект диапазона как в Chrome, так и в Firefox, а затем заметил, что объект диапазона Firefox намного богаче, чем у Chrome. Я не смог найти какие-либо спецификации объекта диапазона в webkit.
Как я могу заставить этот код работать как для webkit, так и для Firefox?
Спасибо!