Я пытаюсь создать выделение, которое идет справа налево в тексте, но, похоже, DOM Range API не не позволяйте мне это делать. (Я ничего не вижу по этому поводу в спецификации - не то чтобы я внимательно читал, но все реализации, похоже, соглашаются не поддерживать это.)
Например, учитывая очень минимальный документ :
data:text/html,<div> this is a test </div>
Я могу использовать этот сценарий, чтобы разрешить редактирование и создать обычное выделение (например, из букмарклета, но для ясности добавлен перенос строк):
javascript:document.designMode='on';
var r=document.createRange(),d=document.getElementsByTagName('div')[0];
r.setStart(d.firstChild, 3);
r.setEnd(d.firstChild, 7);
window.getSelection().addRange(r); void(0);
Однако, если я поменяю местами 3 и 7, выделение не создается.
Кто-нибудь знает, как это сделать?